【问题标题】:Pandaic way to check whether a dataframe has any rows [duplicate]检查数据框是否有任何行的Pandaic方法[重复]
【发布时间】:2018-01-28 12:37:51
【问题描述】:

给定一个数据框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

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

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    你可以使用df.empty:

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

    【讨论】:

    猜你喜欢
    • 2018-02-21
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 2012-02-04
    • 2020-01-25
    • 2021-05-07
    • 2021-04-27
    相关资源
    最近更新 更多