cs9*_*s95 1 python dataframe pandas
给定一个数据帧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
Run Code Online (Sandbox Code Playgroud)
我想要检查的是这样的:
if df[condition] has rows:
do something
Run Code Online (Sandbox Code Playgroud)
检查过滤后的数据框是否有行的最佳方法是什么?以下是一些不起作用的方法:
if df[df.Col1 == 1]: 给 ValueError: The truth value of a DataFrame is ambiguous.
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
Run Code Online (Sandbox Code Playgroud)