Piy*_*are 3 python dataframe pandas
我有以下数据帧
A B C D
BUY 150 Q 2018
SELL 63 Q 2018
N N N N
V v v v
SELL 53 Q 2018
Run Code Online (Sandbox Code Playgroud)
我想删除包含所有列V或N的所有行
输出数据框将是: -
A B C D
BUY 150 Q 2018
SELL 63 Q 2018
SELL 53 Q 2018
Run Code Online (Sandbox Code Playgroud)
df = df[~df.isin(['V', 'v', 'N', 'n']).all(axis=1)]
print (df)
A B C D
0 BUY 150 Q 2018
1 SELL 63 Q 2018
4 SELL 53 Q 2018
Run Code Online (Sandbox Code Playgroud)
细节:
首先比较isin:
print (df.isin(['V', 'v', 'N', 'n']))
A B C D
0 False False False False
1 False False False False
2 True True True True
3 True True True True
4 False False False False
Run Code Online (Sandbox Code Playgroud)
如果每行获取行:all True
print (df.isin(['V', 'v', 'N', 'n']).all(axis=1))
0 False
1 False
2 True
3 True
4 False
dtype: bool
Run Code Online (Sandbox Code Playgroud)
反转条件~:
print (~df.isin(['V', 'v', 'N', 'n']).all(axis=1))
0 True
1 True
2 False
3 False
4 True
dtype: bool
Run Code Online (Sandbox Code Playgroud)