我找不到一個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. 一個熊貓數據幀
- 12. 一個熊貓數據幀
- 13. 熊貓根據另一個數據幀返回一個數據幀的列數
- 14. 從另一個數據幀到數據幀列添加數據與熊貓
- 15. 在另一個數據幀中計數一行熊貓數據幀
- 16. 使用向前和向後填充熊貓數據幀填充缺失值(填充和填充)
- 17. 熊貓 - 從一個數據幀將值插入另一個
- 18. 將熊貓數據幀列表合併到一個熊貓數據幀中
- 19. 熊貓數據幀插值失蹤日
- 20. 從另一列填充數據幀列
- 21. 填充大熊貓數據幀丟失的行
- 22. 名單Python的熊貓數據幀校驗列,並從另一個數據幀
- 23. 熊貓數據幀:在數據幀
- 24. 熊貓多指標數據幀,缺失值的ND插值
- 25. 使用來自同一數據幀的數據填充data.frame中的缺失值
- 26. 從熊貓數據幀
- 27. 熊貓:從數據幀
- 28. 熊貓:從數據幀
- 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