小编Art*_*iev的帖子

Python pandas检查数据帧是否为空

我有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)

我的问题是有一种方法不是空的来实现这个目标吗?我还想问第二个版本在性能方面是否更好?否则也许对我来说是不合理的,因为它是第一个版本?

python python-3.x pandas

47
推荐指数
3
解决办法
4万
查看次数

检查组是否具有NaN值

我有一个数据框,我想groupbybq_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)

python python-2.7 python-3.x pandas

3
推荐指数
1
解决办法
708
查看次数

数据帧中每组熊猫的第二个最大值

我有一个数据框:

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)

python python-2.7 python-3.x pandas

1
推荐指数
1
解决办法
7867
查看次数

标签 统计

pandas ×3

python ×3

python-3.x ×3

python-2.7 ×2