Ras*_*ida 4 python merge dataframe pandas
我正在尝试使用 Pandas 合并三个 DataFrame。为什么我会收到此错误消息?
ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
这是代码:
df=pd.merge(energy,GDP,ScimEn,on="Country")
Run Code Online (Sandbox Code Playgroud)
这里energy, GDP,ScimEn是我试图合并的三个 DataFrame。
pd.merge的调用签名仅接受 2 个 DataFrame 进行合并;
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)
Run Code Online (Sandbox Code Playgroud)
所以你需要分两步完成:
df = pd.merge(energy, GDP, on="Country")
df = pd.merge(df, ScimEn, on="Country")
Run Code Online (Sandbox Code Playgroud)
或者将这两个步骤与DataFrame.merge链接在一起,这样可以立即使用新的 DataFrame:
df = energy.merge(GDP, on="Country").merge(ScimEn, on="Country")
Run Code Online (Sandbox Code Playgroud)
另外,明确设置how关键字也是一个好主意。如果某些国家/地区位于其中一个 DataFrame 中但不在其他 DataFrame 中,则使用默认值进行合并how=inner将导致数据丢失,outer如果您想保留所有 DataFrame 中的所有数据,则应将其更改为。
| 归档时间: |
|
| 查看次数: |
5862 次 |
| 最近记录: |