df['Elevator'] = df.loc[(df['Elevator'] == '有電梯')|(df['Elevator'] == '無電梯'), 'Elevator']
上面這段代碼的目的是,為了去除掉Elevator值中一些亂入的值,只留下‘有電梯'和'無電梯', null這類值。
但是我個人的理解,上面這段是代碼應該是只篩選出了Elevator值為有電梯和無電梯的行。但是事實上,這段代碼還篩選出了Elevator數值為null的行。
想問一下,為什么會這樣呢,是有什么默認定義之類的嗎?
uj5u.com熱心網友回復:
在我看來,你的df['Elevator']是在原有df基礎上另加一列,這個加的一列的行數和之前的是一樣的,你的篩選去掉了某些行,這里沒有的行就會用NaN去補充起來。你可以試下data=https://bbs.csdn.net/topics/df.loc[(df['Elevator'] == '有電梯')|(df['Elevator'] == '無電梯'), 'Elevator']
print(data)
來看篩選的結果
uj5u.com熱心網友回復:
或者用df1 = df[(df['Elevator'] == '有電梯')|(df['Elevator'] == '無電梯')]uj5u.com熱心網友回復:
一樓的用法是你想要的,比較正規的寫法轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/60808.html
上一篇:python切片的一些疑問
下一篇:求大佬解決一下
