我有一个数据框并添加了最后一行的总数。
import pandas as pd
df = pd.DataFrame({'D': {0: 6, 1: 4, 2: 6},
'A': {0: 1, 1: 2, 2: 3},
'C': {0: 2, 1: 7, 2: 5},
'B': {0: 4, 1: 5, 2: 6}})
df = df.append(df.sum(), ignore_index=True)
df
D A C B
0 6 1 2 4
1 4 2 7 5
2 6 3 5 6
3 16 6 14 15
我如何过滤,例如只留下最后一行值(总计)大于 10 的列?预期输出:
D C B
0 6 2 4
1 4 7 5
2 6 5 6
3 16 14 15
最佳答案
您可以使用 DataFrame.iloc
选择最后一行然后使用 Series.gt
创建 bool 掩码,然后将此掩码与 DataFrame.loc
一起使用过滤所需的列:
df.loc[:, df.iloc[-1].gt(10)]
D C B
0 6 2 4
1 4 7 5
2 6 5 6
3 16 14 15
关于python - 根据最后一行值过滤列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65752116/