只用pandas查找月末数据的平均值

问题描述 投票:0回答:1

我有一个公司名称,日期,和pe比率的列表.我需要找到一个过去10年的平均数据的给定日期,这样只考虑月末日期。

例如,如果我需要找到2015年12月31日的平均值......。我需要先找到31122005年到31122015年所有月末的数据,然后求出它们的平均值。

我的数据样本

所需输出。所需产出:

这是我目前所做的......。

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()

这段代码可以用了,现在我只有一个问题,把数据框导出到_csv,请帮助我。

python excel pandas
1个回答
1
投票

数据框有一个特殊的功能,叫 "groupby",可以选择一列,可以进行汇总。

因此,如果你运行data.groupby('pe'),你会得到该列。

现在如果你加上.describe,你会得到标准差meanminect。

举个例子。

data.groupby('pe').describe

希望这能帮到你

编辑: 你也可以使用内置的聚合函数,如.max().mean()ect.与groupby()。

© www.soinside.com 2019 - 2024. All rights reserved.