合并2数据集python(已关闭)



我在将2个CSV合并到新数据集中时遇到问题。到目前为止,我已经将它们合并。假设我有csv1和csv2。我从csv1创建了一个"df",并将csv2与一个特定列合并。但我的问题是:

我需要在df中创建一个新列(例如"new_foo",因为两个CSV都有相同的列名,但数据不同,所以不可能合并两个foo列(,并将合并的csv2列X中的两列关联起来。这是因为在csv1中,公共列是X

电流输入:

import pandas as pd
df = pd.read_csv(csv1)
csv2_df = pd.read_csv(csv2)
csv2_column_x=csv2_df['x']
new_foo=csv2_df['foo']
df['new_foo']
df = df.merge(csv2_column_x, how="outer").merge(new_foo, how="outer")

电流输出:

>>>td>34'asdf'//tr>
XYfoo2ew_foo
1'bla1''qwer'12
1'bla2''swd'
1'la3'
2'bla4''izer'

您可以使用Pandas方法连接列X上的数据帧。

代码:

import pandas as pd
csv1_df = pd.read_csv("csv1.csv")
csv2_df = pd.read_csv("csv2.csv")
merged = csv1_df.join(csv2_df.set_index('X'), on='X', lsuffix='_caller', rsuffix='_other')
print(merged)

输出:

X       Y foo_caller  foo_other
0  1  'bla1'     'qwer'         12
1  1  'bla2'     'aswd'         12
2  1  'bla3'     'asdf'         12
3  2  'bla4'     'azer'         34

csv1.csv:

X,Y,foo
1,'bla1','qwer'
1,'bla2','aswd'
1,'bla3','asdf'
2,'bla4','azer'

csv2.csv:

X,foo
1,12
2,34

参考文献:

  • Pandas加入文档

我终于照Arsho说的做了,一切都很顺利。我没有使用.merge((方法,而是使用.join((方法根据需要连接CSV。

最新更新