【发布时间】:2021-01-12 06:40:58
【问题描述】:
我有两个数据框,结构类似于
# df1
data1 data2
id feature_count
12345 1 111 888
2 222 999
3 333 101010
45678 0 444 111111
2 555 121212
3 666 131313
4 777 141414
和
# df2
descriptor
id
12345 "foo"
45678 "bar"
基于this solution,我似乎应该能够简单地执行df1.join(df2) 以获得所需的结果
#joined
data1 data2 descriptor
id feature_count
12345 1 111 888 "foo"
2 222 999 "foo"
3 333 101010 "foo"
45678 0 444 111111 "bar"
2 555 121212 "bar"
3 666 131313 "bar"
4 777 141414 "bar"
但是,我实际得到的是 Pandas 1.0.5 中的NotImplementedError: Index._join_level on non-unique index is not implemented。
这似乎不应该很复杂,但我显然误解了一些东西。我正在寻找的只是将df2 中的唯一映射列附加到df1 的(保证现有映射)第一个索引上。
【问题讨论】:
-
我无法复制您的错误。我也有 1.0.5 版。您的示例代码对我有用。您的示例代码是否适合您,或者您是否在较大的数据集上遇到错误?
-
这是一个从 SQL 查询中提取的更大的数据集。在我接受答案后(事实证明,另一个错误提供了更多信息),我认为查询有意外重复(我很惊讶 Pandas 让我为其分配索引)。
标签: python python-3.x pandas dataframe