[英]Pandas assign series to another Series based on index
我有三个 Pandas 数据帧:
df1
:
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
df2
:
0 1
3 7
6 5
9 2
df3
:
1 2
4 6
7 6
我的目标是根据索引将df2
和df3
的值分配给df1
。 然后df1
应该变成:
0 1
1 2
2 NaN
3 7
4 6
5 NaN
6 5
7 6
8 NaN
9 2
我尝试了简单的假设:
df1.loc[df2.index] = df2.values
或者
df1.loc[df2.index] = df2
但这给了我一个 ValueError: ValueError: Must have equal len keys and value when setting with an iterable
谢谢你的帮助!
您可以使用concat
进行combine_first
:
pd.concat([df2,df3]).combine_first(df1)
或reindex
:
pd.concat([df2,df3]).reindex_like(df1)
0 1.0
1 2.0
2 NaN
3 7.0
4 6.0
5 NaN
6 5.0
7 6.0
8 NaN
9 2.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.