【发布时间】:2018-08-21 15:44:50
【问题描述】:
我有一个以下格式的 pandas 数据框,我想减少它。
索引 CITY YEAR MONTH HOUR TEMP DP CC ASTR BSTR 2018-04-10 00:00:00 AAA 2018 4 1 20 10 0 高清光伏 2018-04-10 01:00:00 AAA 2018 4 2 10 10 10 fg pv ... 2018-04-10 00:00:00 BBB 2018 4 1 30 20 5 简历 2018-04-10 01:00:00 BBB 2018 4 2 20 20 5 高清 fd ... 2018-04-10 00:00:00 CCC 2018 4 1 20 30 10 cv fd 2018-04-10 01:00:00 CCC 2018 4 2 10 10 5 df ee ...那么输出应该是这样的:
索引 YEAR MONTH HOUR TEMP DP CC ASTR BSTR 2018-04-10 00:00:00 2018 4 1 24 20 5 简历 2018-04-10 01:00:00 2018 4 2 14 14 6.5 高清 fd ...其中 TEMP、DP 和 CC 列是每个唯一索引的每个 CITY 值的加权平均值(索引是日期时间),而 ASTR 和 BSTR 只是 BBB 的值。 YEAR、MONTH 和 HOUR 应该保持不变。 上述示例的权重可以由以下字典给出: 权重 = {“AAA”:0.3,“BBB”:0.4,“CCC”:0.3}
我的实际数据中包含多个城市超过 4 年的每小时数据,因此我需要一些帮助,想出一个有效的解决方案,谢谢!
【问题讨论】:
-
欢迎来到 Stack Overflow!您能否发布一个Minimal, Complete, and Verifiable 您的尝试示例,并具体说明您遇到的问题。
-
嗨,我对使用 pandas 很陌生,所以我不确定从哪里开始这样的事情。我的第一个想法是做一些更“手动”的事情,方法是将数据框分解为多个城市日期框,提取每一列,将它们放入矩阵中,将矩阵的每一列乘以相应的权重,最后将一行中的每个值相加。我想知道是否有更好的方法来做到这一点?