我有一个原始数据的数据框:
df
Out:
Date_time 10a 10b 10c 40a 40b 40c 100a 100b 100c
120 2019-02-04 16:00:00 26.7 26.9 NaN 26.7 NaN NaN 24.9 NaN NaN
121 2019-02-04 17:00:00 23.4 24.0 23.5 24.3 24.1 24.0 25.1 24.8 25.1
122 2019-02-04 18:00:00 23.1 24.0 23.3 24.3 24.1 24.0 25.1 24.8 25.1
123 2019-02-04 19:00:00 22.8 23.8 22.9 24.3 24.1 24.0 25.1 24.8 25.1
124 2019-02-04 20:00:00 NaN 23.5 22.6 24.3 24.1 24.0 25.1 24.8 25.1
我希望创建一个包含“Date_time”列和几列数据均值的 DataFrame。在这种情况下,每行将有 3 个均值,10、40 和 100 各有一个,计算每个编号区间的 a、b 和 c 的平均值。
means
Out:
Date_time 10cm 40cm 100cm
120 2019-02-04 16:00:00 26.800000 26.700000 24.9
121 2019-02-04 17:00:00 23.633333 24.133333 25.0
122 2019-02-04 18:00:00 23.466667 24.133333 25.0
123 2019-02-04 19:00:00 23.166667 24.133333 25.0
124 2019-02-04 20:00:00 23.050000 24.133333 25.0
我尝试了以下方法(取自此答案):
means = df['Date_time'].copy()
means['10cm'] = df.loc[:, '10a':'10c'].mean(axis=1)
但这会导致所有平均值聚集在“Date_time”列底部的一个单元格中,并给出“10cm”作为单元格的索引。
means
Out:
120 2019-02-04 16:00:00
121 2019-02-04 17:00:00
122 2019-02-04 18:00:00
123 2019-02-04 19:00:00
124 2019-02-04 20:00:00
10cm 120 26.800000
121 23.633333
122 23.46...
Name: Date_time, dtype: object
我相信这与当我跨“Date_time”列复制时,它是一个 Series 对象而不是一个 DataFrame 对象有关,但我不确定。任何指针将不胜感激!
