【发布时间】:2019-07-02 06:38:29
【问题描述】:
我想根据一年中的季度计算平均值。详细地说,我有一个包含两列的数据框,分别名为“year”和“earning”。 “年”列包含季度值,例如 (1998-Q1... 1998-Q4)。我想找到季度的平均值。目前,我有一个可行的解决方案,但如果有更多年,这将不切实际。有没有更好的解决方案?
data = {
'year': ['1998-Q1', '1998-Q2', '1998-Q3', '1998-Q4', '1999-Q1', '1999-
Q2', '1999-Q3', '1999-Q4'],
'earning': [2800, 2544, 2511, 3104, 2793, 2570, 2600, 3287]
}
df = pd.DataFrame(data)
print(df)
# What if there are more years? For example 2000, 2001, 2002 .... 2018.
df_1998 = df.iloc[:4].mean()
df_1999 = df.iloc[4:].mean()
print(df_1998)
print(df_1999)
【问题讨论】:
-
你可以使用
df.groupby(df.year.str[:4])['earning'].mean()
标签: python pandas dataframe mean