【发布时间】:2017-03-20 23:12:40
【问题描述】:
我有以下数据框:
> df1
id begin conditional confidence discoveryTechnique
0 278 56 false 0.0 1
1 421 18 false 0.0 1
> df2
concept
0 A
1 B
如何合并索引以获得:
id begin conditional confidence discoveryTechnique concept
0 278 56 false 0.0 1 A
1 421 18 false 0.0 1 B
我问是因为我的理解是 merge() 即 df1.merge(df2) 使用列进行匹配。事实上,这样做我得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 4618, in merge
copy=copy, indicator=indicator)
File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 58, in merge
copy=copy, indicator=indicator)
File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 491, in __init__
self._validate_specification()
File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 812, in _validate_specification
raise MergeError('No common columns to perform merge on')
pandas.tools.merge.MergeError: No common columns to perform merge on
在索引上合并是不好的做法吗?这是不可能的吗?如果是这样,我怎样才能将索引转移到一个名为“索引”的新列中?
【问题讨论】:
-
试试这个:
df1.join(df2) -
如果你想通过一个数据框的索引和第二个数据框的一列来连接怎么办。 (我的第二个数据框有一列与第一个 df 中的索引匹配。)
标签: python pandas dataframe merge concat