我有以下数据帧:
distros = ['distro_1', 'distro_1', 'distro_1', 'distro_2', 'distro_2', 'distro_2']
tco = [110, 110, 111, 109, 109, 108]
tang = [77, 77, 76, 81, 80, 80]
velocities = {'distro': distros, 'tco': tco, 'tang': tang}
df_velocities = pd.DataFrame.from_dict(velocities)我需要列的最小值,最大值和每个分发版的值每列的平均值。
我相信使用agg函数可以做到这一点。我不明白。我正在遵循Pandas的文档,结果是一行。
我所拥有的是

有什么建议吗?
我需要的是:

发布于 2019-09-22 05:52:30
df_velocities = df_velocities.groupby('distro').agg(['min', 'max', 'mean'])
print(df_velocities)
tco tang
min max mean min max mean
distro
distro_1 110 111 110.333333 76 77 76.666667
distro_2 108 109 108.666667 80 81 80.333333
df_velocities.columns = ['_'.join(i) for i in df_velocities.columns]
#df_velocities.columns = df_velocities.columns.map('_'.join)
df_velocities = df_velocities.reset_index()
print(df_velocities)
distro tco_min tco_max tco_mean tang_min tang_max tang_mean
0 distro_1 110 111 110.333333 76 77 76.666667
1 distro_2 108 109 108.666667 80 81 80.333333发布于 2019-09-22 05:51:19
我想你要找的是
df_aggregated = df_velocities.groupby('distro').agg({'tco': ['mean', 'min', 'max'], 'tang': ['mean', 'min', 'max']})https://stackoverflow.com/questions/58044320
复制相似问题