我有以下資料框'df':
df = pd.DataFrame({'a':[0,2,3],'b':[1,3,4],'c':[4,1,2]})
現在我想洗掉這樣的行,使得該行對于列“a”具有 0 值,而對于列“b”具有非零值。我怎樣才能做到這一點?
我試過這個,df = df[df['a'] == 0 and df['b'] != 0]但是出錯了。
uj5u.com熱心網友回復:
您快到了。在 Pandas 中鏈接條件時,您需要使用&而不是。and.loc
df = pd.DataFrame({'a':[0,2,3],'b':[1,3,4],'c':[4,1,2]})
df = df[(df['a'] == 0) & (df['b'] != 0)]
結果:
a b c
0 0 1 4
uj5u.com熱心網友回復:
匯入熊貓庫
import pandas as pd
df = pd.DataFrame({'a':[0,2,3],'b':[1,3,4],'c':[4,1,2]})
df # # 資料框的資料
取任何列中為 0 的行
df = df[(df['a'] == 0) | (df['b'] == 0)]
uj5u.com熱心網友回復:
要在 pandas 中組合條件,您需要使用按位運算&符。例如:
condtion_a = df.a == 0
condtion_b = df.b != 0
condition = condtion_a & condtion_b
df = df[condition]
或者在一個襯里:
df = df[(df.a == 0) & (df.b != 0)]
獎勵:這是一個很好的解釋
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/530245.html
標籤:Python数据框
上一篇:撰寫一個程式,提示用戶輸入一個從1到9的整數并顯示兩個金字塔
下一篇:轉換為UNIX時間
