我有一个现有的数据帧,我正在尝试连接一个字典,其中字典的长度与数据帧不同
>>> df
A B C
0 0.46324 0.32425 0.42194
1 0.10596 0.35910 0.21004
2 0.69209 0.12951 0.50186
3 0.04901 0.31203 0.11035
4 0.43104 0.62413 0.20567
5 0.43412 0.13720 0.11052
6 0.14512 0.10532 0.05310
以及
test = {"One": [0.23413, 0.19235, 0.51221], "Two": [0.01293, 0.12235, 0.63291]}
我正在尝试将test
添加到df
,同时将键更改为"D"
和"C"
,我已经看到了
http://pandas.pydata.org/pandas-docs/stable/merging.html和 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html
这表示我应该能够将字典连接到数据帧
我试过:
pd.concat([df, test], axis=1, ignore_index=True, keys=["D", "E"])
pd.concat([df, test], axis=1, ignore_index=True)
但我运气不好,我想达到的结果是
df
A B C D E
0 0.46324 0.32425 0.42194 0.23413 0.01293
1 0.10596 0.35910 0.21004 0.19235 0.12235
2 0.69209 0.12951 0.50186 0.51221 0.63291
3 0.04901 0.31203 0.11035 NaN NaN
4 0.43104 0.62413 0.20567 NaN NaN
5 0.43412 0.13720 0.11052 NaN NaN
6 0.14512 0.10532 0.05310 NaN NaN
唯一的办法是:
因为正如@Alexander正确地提到的,连接的行数应该匹配。否则,与您的情况一样,丢失的行将用
NaN
填充假设要将它们添加为行:
如果作为新列添加:
字典中不保证顺序(例如
test
),因此新列名实际上需要映射到键。相关问题 更多 >
编程相关推荐