我正在尝试查找所有航班的前5条延迟航班,然后计算所有因天气原因导致延迟的航班。 使用此代码,我可以获得前五条延迟路线
flights_df.groupby(['Origin','Dest','WeatherDelay', flights_df.DepDelay>0])['WeatherDelay'].count().sort_values(ascending=False).head(5)
数据框 dataframe image 这是输出
Origin Dest WeatherDelay DepDelay
LAX SFO 0.0 True 3261
ORD LGA 0.0 True 3136
ATL LGA 0.0 True 2900
SFO LAX 0.0 True 2889
LGA ORD 0.0 True 2640
Name: WeatherDelay, dtype: int64
我该如何将WeatherDelay> 0设置为按天气延误的前5条路线?
这是要注意的地方:我有始发地和目的地。我必须形成路线,然后找到延迟路线的数量。另外,我还要查找这5条航线因天气原因而延误的航班数量。
答案 0 :(得分:0)
为了在编制索引时创建多个条件,可以使用:
dataframe[(dataframe["column1"] > condition1) & (dataframe["column2"] > condition2)]
您可以将&用于和|。或。
您还可以查看np.where()
答案 1 :(得分:0)
在对数据分组之前,请从数据框中选择所需的内容:
(flights_df.DepDelay > 0) & (flights_df.WeatherDelay > 0)
用括号df.fillna(0, inplace = True)
df[(df.DepDelay > 0) & (df.WeatherDelay > 0)].groupby(['Origin','Dest'])['Origin'].count().sort_values(ascending=False).head(5)
括住条件
如果要按路线排在前5位,则应按路线定义分组,在这种情况下,应按“起点”和“目的地”分组。
foreach ($applications as $app) {
echo $app["title"]."<br>";
foreach ($app["server"] as $server){
echo $server."<br>";
}
echo "<br>";
}
答案 2 :(得分:0)
我自由地举了例子来说明这一点:
>>> mdf
Name Product Sale Number
0 jack Apples 34 1
1 Riti Mangos 31 2
2 Aadi Grapes 30 3
3 Sonia Apples 32 4
4 Lucy Mangos 33 5
5 Mike Apples 35 6
因此,如果Sale
大于31且Number
是ge 3,则我打印了DataFrame。
>>> mdf[ (mdf['Sale'] > 31) & (mdf['Number'] >3) ]
Name Product Sale Number
3 Sonia Apples 32 4
4 Lucy Mangos 33 5
5 Mike Apples 35 6
链接提供的数据:
>>> df[ (df['DepDelay'] !=0 ) & (df['WeatherDelay'] !=0) ].head()
DepDelay Origin Dest WeatherDelay
0 8 IAD TPA
1 19 IAD TPA
2 8 IND BWI
3 -4 IND BWI
5 25 IND JAX