我正在尝试有条件地从 pandas 数据框中删除行并遇到麻烦。例如,我想从下面的示例中的数据框中删除第二行和第三行。
import pandas as pd
df = pd.DataFrame([
[12, 10, 7, 0],
[11, 0, 0, 3],
[0, 0, 0, 0],
[0, 6, 7, 5],
[4, 11, 3,4],
[5, 2, 5, 0]],
columns=["num1", "num2","num3","num3"])
我已经尝试过:
df.loc[~(df['num2','num3']==0).all(axis=1)]
但收到错误“TypeError:仅整数标量数组可以转换为标量索引”
最佳答案
使用 ne
和 all
为:
df = df.loc[df[['num2','num3']].ne(0).all(axis=1)]
print(df)
num1 num2 num3 num4
0 12 10 7 0
3 0 6 7 5
4 4 11 3 4
5 5 2 5 0
这是我的执行截图:
关于python - 有条件地从 pandas 数据框中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62962056/