我在 DataFrame df_pivoted 中包含下表:
成本 成本 成本 val1 val1 val1
user_id 1 2 3 1 2 3
时间戳
01/01/2011 1 100 3 5
2011 年 1 月 2 日 20 8
2012 年 1 月 7 日 19 57
2012 年 1 月 11 日 3100 49
2012 年 12 月 21 日 240 30
2013 年 9 月 14 日 21 63
2013 年 1 月 12 日 3200 51
我想计算平均每月成本,但语句 df_monthly = hubted.resample ('M') 不会返回平均值,而只返回月份值的总和。另外,我想知道如何计算与每个用户关联的每个字段的平均成本(“cost”、“val1”等)。
获取上表的代码为:
import pandas as pd
newnames = ['timestamp','user_id', 'cost', 'val1','val2', 'val3','code']
df = pd.read_csv('mytest.csv', names = newnames, header = False, parse_dates=True, dayfirst=True)
df['timestamp'] = pd.to_datetime(df['timestamp'], dayfirst=True)
pivoted = df.pivot('timestamp', 'user_id')
预先感谢您的帮助。
最佳答案
请参阅文档 http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.DataFrame.resample.html您需要指定如何完成重新采样,例如求和或平均值..您可以按字段指定...默认值是平均值,不完全确定为什么您要得到求和。
关于python - DataFrame.resample ('M' )不给出每月 AVERAGE 值,而只给出每月总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22790019/