我有一個從 1 到 1440 分鐘連續的時間序列中包含多列 (30/40) 的資料框。
df
time colA colB colC.....
1 5 4 3
2 1 2 3
3 5 4 3
4 6 7 3
5 9 0 3
6 4 4 0
..
現在我想將兩個行值添加到一個中,但我想保持索引“時間”的間隔與我添加的行號相同。結果資料框為:
df
time colA colB colC.......
1 6 6 6
3 11 11 6
5 13 4 3
..
在這里,我將兩個行值添加到一個中,但時間索引間隔也與 2 行相同。1,3,5 ...有可能實作嗎?
uj5u.com熱心網友回復:
一種方法是對所有人進行加法,然后確定時間:
df_new = df[1::2].reset_index(drop=True) df[::2].reset_index(drop=True)
df_new['time'] = df[::2]['time'].values
uj5u.com熱心網友回復:
另一種方法是將您的資料集每兩行分組一次,并sum在“colX”列和mean時間列上使用聚合。鏈接astype(int)將對結果值進行四舍五入:
d = {col: 'sum' for col in [c for c in df.columns if c.startswith('col')]}
df.groupby(df.index // 2).agg({**d,'time': 'mean'}).astype(int)
列印回來:
colA colB colC time
0 6 6 6 1
1 11 11 6 3
2 13 4 3 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435580.html
上一篇:按月計算特定值
