我有一个公司名称,日期,和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,请帮助我。
数据框有一个特殊的功能,叫 "groupby",可以选择一列,可以进行汇总。
因此,如果你运行data.groupby('pe'),你会得到该列。
现在如果你加上.describe,你会得到标准差meanminect。
举个例子。
data.groupby('pe').describe
希望这能帮到你
编辑: 你也可以使用内置的聚合函数,如.max().mean()ect.与groupby()。