【发布时间】:2021-06-21 04:24:11
【问题描述】:
我有以下数据框:
df=pd.DataFrame(np.array([[1,2,3,4,7,9,5],[2,6,5,4,9,8,2],[3,5,3,21,12,6,7],[1,7,8,4,3,4,3]]),
columns=['9:00:00','9:05:00','09:10:00','09:15:00','09:20:00','09:25:00','09:30:00'])
>>> 9:00:00 9:05:00 09:10:00 09:15:00 09:20:00 09:25:00 09:30:00 ....
a 1 2 3 4 7 9 5
b 2 6 5 4 9 8 2
c 3 5 3 21 12 6 7
d 1 7 8 4 3 4 3
我想为每一行(例如 a、b、c、d ...)获取特定时间之间的平均值。时间在 9-15 之间,我想按期间分组,例如计算 09:00:00 到 11:00:00、11-12 之间、13-15 之间(或我决定的任何时间段)之间的平均值到)。 我首先尝试将列值转换为日期时间格式,然后我认为这样做会更容易:
df.columns = pd.to_datetime(df.columns,format="%H:%M:%S")
但后来我得到了带有假年份“1900-01-01 09:00:00”的冷却名称...... 而且,列标题类型是对象,所以我感觉有点失落......
我的最终目标是能够仅在定义的时间段内(例如 9-11 等...)的列之间计算具有每行平均值的新列
【问题讨论】:
标签: python pandas datetime pandas-groupby mean