第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

根據(jù)涉及l(fā)en(string)的條件表達(dá)式從pandas DataFrame中刪除行

根據(jù)涉及l(fā)en(string)的條件表達(dá)式從pandas DataFrame中刪除行

梵蒂岡之花 2019-10-04 15:44:42
我有一個(gè)pandas DataFrame,我想從中刪除行,其中特定列中字符串的長度大于2。我希望能夠做到這一點(diǎn)(根據(jù)此答案):df[(len(df['column name']) < 2)]但我只是得到錯(cuò)誤:KeyError: u'no item named False'我究竟做錯(cuò)了什么?(注意:我知道我可以df.dropna()用來刪除包含any的行NaN,但是我沒有看到如何根據(jù)條件表達(dá)式刪除行。)
查看完整描述

3 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

當(dāng)您這樣做時(shí),len(df['column name'])您只會得到一個(gè)數(shù)字,即DataFrame中的行數(shù)(即列本身的長度)。如果要應(yīng)用于len列中的每個(gè)元素,請使用df['column name'].map(len)。所以嘗試


df[df['column name'].map(len) < 2]


查看完整回答
反對 回復(fù) 2019-10-04
?
飲歌長嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

要直接回答該問題的原始標(biāo)題“如何基于條件表達(dá)式從pandas DataFrame中刪除行”(我理解這不一定是OP的問題,但可以幫助其他用戶解決此問題),一種方法是使用該降的方法:


df = df.drop(some labels)


df = df.drop(df[<some boolean condition>].index)



要?jiǎng)h除列“得分”小于50的所有行:


df = df.drop(df[df.score < 50].index)


就地版本(如注釋中所指出)


df.drop(df[df.score < 50].index, inplace=True)


多種條件


(請參閱布爾索引)


運(yùn)算符是:|for or,&for and和~for not。這些必須使用括號進(jìn)行分組。


刪除列“得分”小于50和大于20的所有行


df = df.drop(df[(df.score < 50) & (df.score > 20)].index)


查看完整回答
反對 回復(fù) 2019-10-04
  • 3 回答
  • 0 關(guān)注
  • 1833 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號