从pandas中的数据框中选择vlaues

时间:2015-10-15 05:46:13

标签: python pandas

给定格式的数据框

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:系列长度必须匹配才能比较

我该如何执行查询?

1 个答案:

答案 0 :(得分:0)

您需要先使用tail获取B列的最后一个值,然后乘以0.6

 df[df['B'] > df['B'].tail(1).values[0] * 0.6]