1. 程式人生 > 程式設計 >詳解pandas賦值失敗問題解決

詳解pandas賦值失敗問題解決

一、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賦值失敗內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!