我找不到一个pandas函数(我曾经见过),用一个数据帧中的NaN替换另一个数据帧中的值(假设可以指定一个通用索引)。任何帮助?熊猫从另一个数据帧中填充数据帧中的缺失值
7
A
回答
11
如果你有两块形状相同的DataFrames,则:
df[df.isnull()] = d2
会做的伎俩。
只有在df.isnull()
计算为True
(绿色高亮显示)的位置将有资格获得分配。
实际上,DataFrame并不总是相同的大小/形状,并且转换方法(尤其是.shift()
)很有用。
进来的数据总是肮脏,不完整或不一致。参加课程。有一个相当广泛的熊猫tutorial and associated cookbook处理这些情况。
5
正如我刚才了解到,有一个DataFrame.combine_first()
方法,其目的正是这个,与附加属性,如果你的更新数据帧d2
是大于你原来df
,额外的行和列加,以及。
df = df.combine_first(d2)
3
DataFrame.combine_first()准确回答这个问题。
但是,有时要填充/替换/从数据帧B.这个问题把我带到这个网页值覆盖一些数据帧A的非缺失(非NAN)值的,解决的办法是DataFrame.mask()
A = B.mask(condition, A)
当condition
为真时,将使用来自A的值,否则将使用B的值。
例如,你可以解决了OP的原题与mask
这样,当从A的元素是不可楠,使用它,否则使用相应的元素,从B.
但使用DataFrame.mask()你可以更换A的值不符合任意标准(小于零?超过100?)与B的值。因此mask
更灵活,并且这个问题的矫枉过正,但我认为这是值得一提的(我需要它来解决我的问题)。
注意到B可能是一个numpy数组而不是DataFrame也很重要。 DataFrame.combine_first()要求B是数据框,但是DataFrame.mask()只要求B是NDFrame并且其尺寸与A的尺寸相匹配。
相关问题
- 1. 使用熊猫填充从另一个数据帧中丢失1个数据帧的值
- 2. 缺失值的Python熊猫填充数据帧
- 3. Python熊猫:用另一个数据填充数据帧
- 4. 来自另一个数据帧的大小熊猫数据帧
- 5. 通过另一个数据帧中的值列表拆分熊猫数据帧
- 6. 大熊猫将分组数据帧到另一个数据帧
- 7. 一个熊猫数据帧
- 8. 从另一个数据帧到数据帧列添加数据与熊猫
- 9. 在另一个数据帧中计数一行熊猫数据帧
- 10. 从另一列填充数据帧列
- 11. 使用来自同一数据帧的数据填充data.frame中的缺失值
- 12. 填充大熊猫数据帧丢失的行
- 13. 名单Python的熊猫数据帧校验列,并从另一个数据帧
- 14. 熊猫多指标数据帧,缺失值的ND插值
- 15. 熊猫数据帧:在数据帧
- 16. 熊猫:从数据帧
- 17. 熊猫:从数据帧
- 18. 从熊猫数据帧
- 19. 熊猫据帧 - 移动从一个数据帧行到另一个
- 20. 根据另一个数据框中的列填充数据帧中的空值
- 21. 填充数据帧,丢失的数据
- 22. 在熊猫中填充另一列中一列的缺失值
- 23. 数据帧 - 填写缺失数据
- 24. Python熊猫标记匹配一个数据帧中的列到另一个数据帧中的列的值
- 25. 初始化熊猫数据帧与NaN以外的填充值
- 26. 填充数据帧的行值大熊猫
- 27. 蟒熊猫 - 检索从一个数据帧的值与中的另一个
- 28. 如何限制熊猫数据帧中的NaN填充
- 29. 根据另一个数据帧设置数据帧中的值
- 30. 熊猫根据另一个数据框中的匹配列填充新的数据帧列
声音就像你想要合并。请显示一些示例场景。 – 2015-03-30 22:21:38
找到了!我想使用combine_first – user308827 2015-03-30 22:22:40
http://pandas.pydata.org/pandas-docs/dev/generated/pandas.Series.combine_first.html – user308827 2015-03-30 22:22:43