我基本上是想用pandas从一个.csv文件中获取max,min,avg等,尽管我得到了一些奇怪的输出。我还想按特定品牌过滤。例如,假设福特品牌有更多的条目,我想打印所有福特的最大值。你知道吗
例如CSV
**Brand** **Color** **Price**
Ford Red 5
Ferrari Blue 10
Chevy Green 15
我的代码
import pandas as pd
df=pd.read_csv(r'Cars.csv')
df1 = df[['Brand','Price']]
groupby_MAX = df1.groupby(['Brand']).max()
groupby_MIN = df1.groupby(['Brand']).min()
groupby_AVG = df1.groupby(['Brand']).mean()
groupby_STD = df1.groupby(['Brand']).std()
groupby_RNG = (df1.groupby(['Brand']).max() - df1.groupby(['Brand']).min())
print('Max of values, grouped by Brand: ' + str(groupby_MAX))
print('\nMin of values, grouped by Brand: ' + str(groupby_MIN))
我的输出
Max of values, grouped by Brand: Price
Brand
Ford 5
Ferrari 10
Chevy 15
Min of values, grouped by Brand: Price
Brand
Ford 5
Ferrari 10
Chevy 15
我想要什么
Stats, grouped by Brand:
Brand Max Min Mean S.Dev
Ford 5 5 5 5
Ferrari 10 10 10 10
Chevy 15 15 15 15
可以使用
.agg
在数据帧上聚合多个函数。你知道吗示例:
自定义范围函数:
将
.agg
与内置函数和用户定义函数一起使用:df.groupby(by='Brand').agg(['max', 'min', 'mean', 'std', rng])
这将产生:
相关问题 更多 >
编程相关推荐