使用pd.concat时报错Reindexing only valid with uniquely valued Index objects
时间: 2024-01-28 07:11:00 浏览: 305
详解pandas数据合并与重塑(pd.concat篇)
5星 · 资源好评率100%
这个错误通常出现在拼接的两个 DataFrame 中存在重复的索引值时。为了解决这个问题,我们可以使用 `ignore_index=True` 参数来忽略原有的索引,重新生成一个新的索引。
例如,假设有两个 DataFrame `df1` 和 `df2`,它们的某些行索引重复,现在需要将它们的某些列拼接在一起,可以使用如下代码:
```python
import pandas as pd
# 创建两个 DataFrame,它们的某些行索引重复
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=[0, 1, 1])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=[1, 2, 2])
# 拼接两个 DataFrame 的某些列
result = pd.concat([df1['A'], df2['C']], axis=1, ignore_index=True)
print(result)
```
在上述代码中,我们将 `ignore_index=True` 添加到 `pd.concat` 函数中,以忽略原有的索引,重新生成一个新的索引。这样就可以成功拼接两个 DataFrame 的列了。
阅读全文