如何根据Python中的某些条件从数据框或过滤器中提取值?

时间:2019-12-16 00:41:56

标签: python pandas dataframe filter

我有一个数据框架,其中包含从某些文件中提取的值。如何过滤或提取col 1中值u之后的前两行数据。col 1值的范围为80,我想在值u之后捕获。值u可能是第0列中新filex之后的两个或三个文件,或者根本不显示,如file3中所示。

    0          1          2       3
0   file1   value u     file1   value u
1   file1   value u     file1   value u
2   file1   value 85    file1   th_v 5
3   file1   value 10    file1   th_v 2
4   file1   value 10    file1   th_v 4
5   file1   value 88    file1   th_v 4
6   file2   value u     file2   value u
7   file2   value 88    file2   th_v 7
8   file2   value 2     file2   th_v 4
9   file2   value 88    file2   th_v 3
10  file2   value 0     file2   th_v 1
11  file3   value 89    file3   th_v 5
12  file3   value 2     file3   th_v 5
13  file3   value 4     file3   th_v 1

output:
         0          1         2       3
    0   file1   value 85    file1   th_v 5
    1   file1   value 10    file1   th_v 2
    2   file2   value 88    file2   th_v 7
    3   file2   value 2     file2   th_v 4
    4   file3   value 89    file3   th_v 5
    5   file3   value 2     file3   th_v 5

1 个答案:

答案 0 :(得分:1)

如果可以使用成对的列的相同数据模式(相同的文件列组和相同的值列结尾),则测试最后一个值是否为数字,然后GroupBy.head

df = df[df[1].str.contains('\d$')].groupby(0).head(2)