Pandaic方式检查数据帧是否有任何行

时间:2017-08-20 08:37:29

标签: python pandas dataframe

给定数据框df,我会应用一些条件df[condition]并检索一个子集。我只想检查子集中是否有任何行 - 这会告诉我条件是有效的。

In [551]: df
Out[551]: 
   Col1
0     1
1     2
2     3
3     4
4     5
5     3
6     1
7     2
8     3

我想检查的是这样的:

if df[condition] has rows:
    do something

检查过滤后的数据框是否有行的最佳方法是什么?以下是一些不起作用的方法:

  1. if df[df.Col1 == 1]:提供ValueError: The truth value of a DataFrame is ambiguous.

  2. if df[df.Col1 == 1].any():同时提供ValueError

  3. 我想我可以测试len。还有其他方法吗?

1 个答案:

答案 0 :(得分:6)

您可以使用df.empty

df_conditional = df.loc[df['column_name'] == some_value]
if not df_conditional.empty:
    ... # process dataframe results