【发布时间】:2021-01-06 17:14:30
【问题描述】:
我有一个名为 df_civic 的数据框,其中包含列 - state ,rank, make/model, model year, thefts。我想为每个model year 计算thefts 的AVG 和STD。
数据框中的所有年份均采用:years_civic = list(pd.unique(df_civic['Model Year']))
我的循环如下所示:
for civic_year in years_civic:
f = df_civic['Model Year'] == civic_year
civic_avg = df_civic[f]['Thefts'].mean()
civic_std = df_civic[f]['Thefts'].std()
civic_std= np.round(car_std,2)
civic_avg= np.round(car_avg,2)
print(civic_avg, civic_std, np.sum(f))
但是输出不是我需要的,只有正确的输出是来自np.sum(f)的输出
现在输出如下所示:
9.0 20.51 1
9.0 20.51 1
9.0 20.51 1
9.0 20.51 1
9.0 20.51 13
9.0 20.51 15
9.0 20.51 3
9.0 20.51 2
【问题讨论】:
-
请根据本文提供的提示包含示例数据并格式化您的问题:stackoverflow.com/a/20159305
-
@Aleksander,您可以使用三重 ``` 代码 ``` 来标记多行的代码块。花了一些时间来编辑您的 100 个代码块和
s :) .. 此外,您可以简单地将新行移动到另一行而不使用
。它允许在降价。检查我如何编辑您的问题,以便下次更好地格式化您的问题。干杯。 -
嗨,对不起,我下次会使用正确的!
标签: python pandas dataframe loops for-loop