【发布时间】:2018-03-27 08:53:51
【问题描述】:
从数据框示例开始最容易解释:
TimeStamp 382.098 382.461 383.185 383.548
10:28:00 0.012448 0.012362 0.0124485 0.012362
10:30:00 0.0124135 0.0123965 0.0124135 0.012431
10:32:00 0.0551035 0.0551725 0.055931 0.0563105
10:34:00 0.055586 0.0557245 0.056655 0.0569485
10:36:00 0.055586 0.055776 0.0568105 0.057362
我希望我的输出是:
TimeStamp 382 383
10:28:00 0.012405 0.01240525
10:30:00 0.012405 0.01242225
10:32:00 0.05513 0.05612075
10:34:00 0.05565525 0.05680175
10:36:00 0.055681 0.05708625
所以,我想查看列名值,如果它们与整数相同,我希望输出 col 具有每个时间索引值的平均值。
我的想法是使用 df.round 将列标题四舍五入到最接近的整数,然后使用 .mean() 以某种方式在 axis = 0 上为相同的 col 标题应用平均值。但是,我在数据帧索引类型上使用 round 函数时出错。
编辑:根据答案,我使用了
df.rename(columns=dict(zip(df.columns[0:], df.columns[0:]\
.values.astype(float).round().astype(str))),inplace=True)
df = df.groupby(df.columns[0:], axis=1).mean()
它弄乱了列名和值,而不是根据列名给我平均值......不知道为什么!
【问题讨论】:
-
是吗?如果您需要从答案中得到澄清,请提出要求。谢谢。
标签: python pandas dataframe mean