仅使用熊猫来查找月底日期的数据平均值

时间:2020-05-12 07:59:53

标签: python excel pandas

我有公司名称,日期和市盈率的列表。 我需要找到给定日期的前10年数据的平均值,以便仅考虑月底日期。

例如,如果我需要查找截至2015年12月31日的平均值.....我需要首先查找从2005年12月31日到2015年12月31日的所有前一个月末的数据。然后是平均值。

sample data I have

必需的输出: required output

这是我到目前为止所做的。...

df = pd.read_csv('daily_valuation_ratios_cc.csv')

df['date'] = pd.to_datetime(df['date'])

df = df.set_index('date')
columns = ['pe', 'price_bv', 'mcap_ns', 'ev_ebidta']
df_mean = df.groupby('Company Name')[columns].resample('M').mean()

但是这种方法每天都在寻找平均值,并且每月显示结果,这与我的样本输出不同。 我是熊猫新手,请帮忙。

编辑:

df3 = df.groupby(['Company Name','year','month'])
df3.first()

此代码有效,现在我只遇到一个问题,将数据帧导出到to_csv。请帮助

1 个答案:

答案 0 :(得分:1)

数据框具有一个称为“ groupby”的特殊功能,该功能可以选择列,并且可以进行汇总。

因此,如果要运行data.groupby('pe'),则会看到该列。

现在,如果要继续使用.describe,则将获得标准偏差/平均值/分钟/等。

示例:

data.groupby('pe').describe()

希望这会有所帮助!

编辑:您还可以使用内置的聚合函数,例如.max()/。mean()/ ect。使用groupby()。