我有if语句,它检查数据帧是否为空.我这样做的方式是:
if dataframe.empty:
pass
else:
#do something
Run Code Online (Sandbox Code Playgroud)
但我真的需要:
if dataframe is not empty:
#do something
Run Code Online (Sandbox Code Playgroud)
我的问题是有一种方法不是空的来实现这个目标吗?我还想问第二个版本在性能方面是否更好?否则也许对我来说是不合理的,因为它是第一个版本?
我有一个数据框,我想groupby按bq_market_id然后检查每个组中是否有NaN值,bq_back_price如果是,则True每个组,如果否,则False每个组。
bq_selection_id bq_balance bq_market_id bq_back_price
0 45094462 185.04 7278437 1.97
1 45094462 185.04 7278437 1.97
2 45094463 185.04 7278437 3.05
3 45094463 185.04 7278437 3.05
4 45094464 185.04 7278437 5.80
5 45094464 185.04 7278437 5.80
6 45094466 185.04 7278437 200.00
7 45094466 185.04 7278437 200.00
8 45094465 185.04 7278437 NaN
9 45094465 185.04 7278437 NaN
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?我尝试了以下操作,但没有成功。
bb.groupby('bq_market_id')['bq_back_price'].isnull().any()
Run Code Online (Sandbox Code Playgroud) 我有一个数据框:
bq_selection_id bq_balance bq_market_id bq_back_price
0 45094462 185.04 155 1.87
1 45094462 185.04 155 1.97
2 45094463 185.04 155 3.05
3 45094463 185.04 156 3.05
4 45094464 185.04 156 5.80
5 45094464 185.04 156 5.80
6 45094466 185.04 157 200.00
7 45094466 185.04 157 200.00
8 45094465 185.04 157 NaN
9 45094465 185.04 157 NaN
Run Code Online (Sandbox Code Playgroud)
我想要两个额外的列 second_lowest, none_values 每组,groupby 市场 ID。市场 ID 155 second_lowest 1.97 的另一种说法,并且没有 NaN 值,因此 none_values 是 False。我想得到类似的东西:
bq_selection_id bq_balance bq_market_id bq_back_price second_lowest none_val
0 45094462 185.04 …Run Code Online (Sandbox Code Playgroud)