我已經將Excel工作表導入Pandas的數據框中。空白值被'NA'取代。我想要做的是,對於每個行值,將其替換爲基於字典或數據框的索引。使用Pandas/Python更新可變大小的數據框
df1 = pd.DataFrame(
{'c1':['a','a','b','b'], 'c2':['1','2','1','3'], 'c3':['2','NA','3','NA']},index=['first','second','third','last'])
>>> df1
c1 c2 c3
first a 1 2
second a 2 NA
third b 1 3
last b 3 NA
我想根據另一個數據幀(或字典)的指數替換每一行中的值。
df2=pd.DataFrame(
{'val':['v1','v2','v3']},index=['1','2','3'])
>>> df2
val
1 v1
2 v2
3 v3
使得輸出變爲
>>> out
c1 c2 c3
first a v1 v2
second a v2 NA
third b v1 v3
last b v3 NA
你將如何通過熊貓和/或Python這樣做呢?一種方法是逐行搜索,但也許有一種更簡單的方法?
編輯:重要的是,由於我正在處理尺寸爲4653行×1984列的'df1',因此性能在我的實際情況中成爲問題。
預先感謝您
我認爲要訪問每個單元格,並做一個檢查,你必須'iterrows'這不是硬的大聲笑。 – Bobby
@Bobby謝謝你的評論。請隨時張貼它作爲一個新的答案 – Sosi
人看看這些奇特的答案。我只是沒有信心。學習太大聲了 – Bobby