gpt4 book ai didi

python - df.combine() 如何工作?

转载 作者:行者123 更新时间:2023-12-03 18:43:18 26 4
gpt4 key购买 nike

df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 0]})
df1.combine(df2, take_smaller, fill_value=-5)
上面的代码产生 result . 4.0从哪里来?

最佳答案

来自 docs 中的示例

take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2
这表示如果 df1 中的系列总和小于 df2 中的系列总和,则从 df1 返回系列,否则从 df2 返回。
所以当你这样做时:
df1.combine(df2, take_smaller)

A B
0 0 3.0
1 0 0.0
这工作正常。
但是,当您执行 fill_value=-5 ,那么第一个数据帧中第二个系列的总和变小,因为 fill_value先填充 NaN 然后比较。 (-5+4) < (3+0) ,因此 -5 and 4被退回。

fill_value scalar value, default NoneThe value to fill NaNs with prior to passing any column to the merge func.

关于python - df.combine() 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63931239/

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