在条件的情况下计算一列中的值之间的间隔,说我只需要计算特定值,然后使用python pandas将它们按另一列分组

我有以下输入

输入:

Bus Fare Startcity
56  98   sathy
95  85   sathy
98  95   chennai
85  92   chennai
56  75   chennai
56  83   chennai

我必须由票价它> = 90和票价<= 98和GROUPBY“Startcity”

输出1:

Fare Startcity 
1    Sathy 
2    Chennai

如果票价> = 90且票价<= 98以及groupby“ Startcity”,也可以计算平均值

输出2:

Fare   Startcity
98     Sathy 
93.5   Chennai
耶斯列尔

如果要计算每组每个条件的行数,请通过ge<=创建布尔掩码,True通过sum以下方式值进行计数

df1 = df['Fare'].ge(90).groupby(df['Startcity']).sum().astype(int).reset_index()
print (df1)
  Startcity  Fare
0   chennai     2
1     sathy     1

如果要between进行过滤检查,请使用:

df = df[df['Fare'].between(90, 98)].groupby('Startcity')['Fare'].mean().reset_index()
print (df)
  Startcity  Fare
0   chennai  93.5
1     sathy  98.0

或者,如果还0需要不匹配的组:

df3=df.groupby('Startcity')['Fare'].apply(lambda x: x[x.between(90, 98)].mean()).reset_index()
print (df3)
  Startcity  Fare
0   chennai  93.5
1     sathy  98.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章