Art*_*iev 3 python python-2.7 python-3.x pandas
我有一个数据框,我想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)
我认为您可以使用apply
:
print bb.groupby('bq_market_id')['bq_back_price'].apply(lambda x: x.isnull().any())
bq_market_id
7278437 True
Name: bq_back_price, dtype: bool
Run Code Online (Sandbox Code Playgroud)
示例(列bq_market_id
中的某些值已更改):
print bb
bq_selection_id bq_balance bq_market_id bq_back_price
0 45094462 185.04 1 1.97
1 45094462 185.04 1 1.97
2 45094463 185.04 1 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
print bb.groupby('bq_market_id')['bq_back_price'].apply(lambda x: x.isnull().any())
bq_market_id
1 False
7278437 True
Name: bq_back_price, dtype: bool
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
708 次 |
最近记录: |