如何根据GroupBy条件从另一个数据帧创建数据帧

2024-09-29 01:29:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道如何使用groupby条件基于另一个数据帧创建数据帧。例如,我有一个数据帧,如果我应用这个函数:

flights_df.groupby(by='DepHour')['Cancelled'].value_counts()

我得到了这样的东西

DepHour  Cancelled
0.0      0             20361
         1                 7
1.0      0              5857
         1                 4
2.0      0              1850
         1                 1
**3.0      0               833**
4.0      0              3389
         1                 1
5.0      0            148143
         1                24

可以看出,对于DepHour == 3.0来说,没有取消的航班。你知道吗

使用我用来生成这个输出的同一个数据帧,我想创建另一个数据帧,其中只包含DepHour没有取消flighs的值。在这种情况下,输出将是只包含DepHour == 3.0值的数据帧。你知道吗

我知道我可以使用mask,但它只允许在cancelled == 0处过滤值(即,包括DepHour cancelled == 0处的所有其他值)。你知道吗

谢谢,对不起,我的英语不好!你知道吗


Tags: 数据函数dfbyvalue情况条件航班
1条回答
网友
1楼 · 发布于 2024-09-29 01:29:22

可能有一种更干净的方法(可能不需要使用groupby两次),但这应该是可行的:

flights_df.groupby('DepHour') \
.filter(lambda x: (x['Cancelled'].unique()==[0]).all()) \
.groupby('DepHour')['Cancelled'].value_counts()

相关问题 更多 >