Python:通过 df.merge() 合并两个数据集根本不起作用
Python: merging two datasets via df.merge() is simply not working
我只想合并两个数据集。
示例 df1:
ID
Name
0
73
Dan
1
74
Emily
2
75
Kenny
...
...
...
333333
333407
Liz
样本 df2:
Intention
Product ID
0
buy
1001
1
sell
1002
2
buy
1002
...
...
...
333333
buy
1011
我希望结果如下所示:
ID
Name
Intention
Product
0
73
Dan
buy
1001
1
74
Emily
sell
1002
2
75
Kenny
buy
1002
...
...
...
...
...
333333
333407
Liz
buy
1011
我以前总是这样做,而且总是有效:
df1.merge(df2, left_on=df1.index, right_on=df2.merge)
但现在我收到一个错误:
ValueError: Unable to fill values because RangeIndex cannot contain NA
这些数据集具有相同的行数,因此索引。不明白哪里出了问题。你怎么看?
你可以试试pd.concat
df = pd.concat([df1, df2], axis=1)
或与
df = df1.merge(df2, left_index=True, right_index=True)
我只想合并两个数据集。
示例 df1:
ID | Name | |
---|---|---|
0 | 73 | Dan |
1 | 74 | Emily |
2 | 75 | Kenny |
... | ... | ... |
333333 | 333407 | Liz |
样本 df2:
Intention | Product ID | |
---|---|---|
0 | buy | 1001 |
1 | sell | 1002 |
2 | buy | 1002 |
... | ... | ... |
333333 | buy | 1011 |
我希望结果如下所示:
ID | Name | Intention | Product | |
---|---|---|---|---|
0 | 73 | Dan | buy | 1001 |
1 | 74 | Emily | sell | 1002 |
2 | 75 | Kenny | buy | 1002 |
... | ... | ... | ... | ... |
333333 | 333407 | Liz | buy | 1011 |
我以前总是这样做,而且总是有效:
df1.merge(df2, left_on=df1.index, right_on=df2.merge)
但现在我收到一个错误:
ValueError: Unable to fill values because RangeIndex cannot contain NA
这些数据集具有相同的行数,因此索引。不明白哪里出了问题。你怎么看?
你可以试试pd.concat
df = pd.concat([df1, df2], axis=1)
或与
df = df1.merge(df2, left_index=True, right_index=True)