Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从pandas中的数据帧中选择vlaues_Python_Pandas - Fatal编程技术网

Python 从pandas中的数据帧中选择vlaues

Python 从pandas中的数据帧中选择vlaues,python,pandas,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]

给定格式的数据帧

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


如何执行查询?

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

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