给定格式的数据框
A B C D
.......
........
我想选择列B中的值大于0.6 *列中最后一个值的行。例如,
输入:
A B C
1 0 5
2 3 4
3 6 6
4 8 1
5 9 3
输出:
A B C
3 6 6
4 8 1
5 9 3
我目前正在做以下事情,
x = df.loc[df.tail(1).index,'B']
返回一个对应于数据帧最后一行的coulmn B的索引和值的系列对象,然后,
new_df = df.[df.B > x]
但我收到了错误,
ValueError:系列长度必须匹配才能比较
我该如何执行查询?
答案 0 :(得分:0)
您需要先使用tail
获取B列的最后一个值,然后乘以0.6
。
df[df['B'] > df['B'].tail(1).values[0] * 0.6]