gpt4 book ai didi

python - pandas:基于相同的 ID 使用另一个数据帧的数据填充

转载 作者:行者123 更新时间:2023-11-30 22:43:24 25 4
gpt4 key购买 nike

df1 缺少值:

df1=

ID age
1 12
2 na
3 23
4 na
5 na
6 na

我还有另一个df:

df2=

ID age
2 4
4 5
5 6
6 7

我想基于相同的ID,使用df2fillna of df1:

df1 (after fillna)=

ID age
1 12
2 4
3 23
4 5
5 6
6 7

最佳答案

您可以将 ID 设置为两个数据帧的索引,然后使用 fillna() 方法填充缺失值,同时匹配两个数据帧的索引:

df1.set_index("ID").age.fillna(df2.set_index("ID").age).reset_index()

# ID age
#0 1 12
#1 2 4
#2 3 23
#3 4 5
#4 5 6
#5 6 7
<小时/>

另一个选项是combine_first,它从第一个数据帧中获取值(如果不是null),否则从索引和列匹配的第二个数据帧中获取值:

df1.set_index("ID").combine_first(df2.set_index("ID")).reset_index()

# ID age
#0 1 12.0
#1 2 4.0
#2 3 23.0
#3 4 5.0
#4 5 6.0
#5 6 7.0

关于python - pandas:基于相同的 ID 使用另一个数据帧的数据填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com