根据条件从熊猫的数据框中提取表

时间:2019-06-05 09:23:16

标签: python-3.x pandas

这是熊猫数据框的列名

result.columns.values
  

['A''B'C'D'E'F'G'H'I'J']

当我尝试使用过滤掉

filtered = result[(result['A'] <result['C']<result['D']) and (result['F'] <result['G']<result['I']) ] 

我收到此ValueError

  

ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

出了什么问题? 我该如何纠正

1 个答案:

答案 0 :(得分:1)

我相信您将需要采用以下结构:

filtered = result[((result['A'] < result['C']) & (result['C'] < result['D'])) &
                  ((result['F'] < result['G']) & (result['G'] < result['I']))]

示例

import numpy as np

columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
np.random.seed(0)
result = pd.DataFrame(np.random.randint(0, 101, size=(100, 10)), columns=columns)
result.head()

filtered = result[((result['A'] < result['C']) & (result['C'] < result['D'])) &
                  ((result['F'] < result['G']) & (result['G'] < result['I']))]
filtered

[出]

     A   B   C   D   E  F   G   H   I   J
7   35  11  46  82  91  0  14  99  53  12
28  34  69  53  80  62  8  61   1  81  35