詳解pandas賦值失敗問題解決
阿新 • • 發佈:2020-11-30
一、pandas對整列賦值
這個比較正常,一般直接賦值就可以:
x = pd.DataFrame({'A': ['1','2','3',None,None],'B': ['4','5','6','7',None]}) x['A'] = ['10','11','12','13','14']
二、pandas對非整列賦值
1、用單個值賦值
x = pd.DataFrame({'A': ['1',None]}) index = x['A'].isna() x[index]['A'] = 100
是不是很奇怪,沒有賦值成功!!
2、用多個值賦值
x = pd.DataFrame({'A': ['1',None]}) index = x['A'].isna() x[index] = [100,200]
報錯了!!提示說,要用.loc賦值,那我們試一下。
3、.loc賦值
x = pd.DataFrame({'A': ['1',None]}) index = x['A'].isna() x.loc[index,['A']] = [100,200]
報錯,這是因為shape原因。
x.loc[index,['A']] = [['100'],['200']]
三、用資料的另外一列賦值
1、錯誤方式
x = pd.DataFrame({'A': ['1','',''],'']}) index = x['A'].isna() x.loc[index,['A']] = x.loc[index,['B']]
正確方式
x = pd.DataFrame({'A': ['1',['B']].copy().values.tolist()
到此這篇關於詳解pandas賦值失敗問題解決的文章就介紹到這了,更多相關pandas賦值失敗內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!