python - Pandaic 方法检查数据框是否有任何行

标签 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

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

最佳答案

你可以使用df.empty:

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

关于python - Pandaic 方法检查数据框是否有任何行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45780130/

相关文章:

python - celery 3.1+ 不允许您以 super 用户身份运行工作人员,特别是在酸洗字符串时

python - 使用 XMLRPC 将文件从客户端发送到服务器?

python - 从 groupby 创建字典字典

r - 使用R根据另一个栅格的特定值从栅格中提取像素

python - 如何在 PyCharm 中使用 python 的 markdown?

python - 为什么Python 3统计模块有collections模块作为子模块?

python - 解包值过多时出现错误(预期2)

python - 为什么 pandas 在聚合不存在的列时给出 NaN 列值?

python - 如何使用索引来调用 pandas 数据框的标签

python - 如何在 for 循环中正确地将列表附加到 DataFrame