我有一個包含許多列的熊貓數據框(df)。爲了簡單起見,我在這裏張貼了三列虛擬數據。在熊貓數據框中分組列數據
Timestamp Source Length
0 1 5
1 1 5
2 1 5
3 2 5
4 2 5
5 3 5
6 1 5
7 3 5
8 2 5
9 1 5
使用熊貓函數,首先我設置時間戳作爲df的索引。
index = pd.DatetimeIndex(data[data.columns[1]]*10**9) # Convert timestamp
df = df.set_index(index) # Set Timestamp as index
接着我可以使用GROUPBY和pd.TimeGrouper功能組的數據進入5秒箱和計算用於每個區間累積長度如下:
df_length = data[data.columns[5]].groupby(pd.TimeGrouper('5S')).sum()
所以df_length dataframe應該看起來像:
Timestamp Length
0 25
5 25
現在的問題是:「我想獲得的5秒同一箱,但螞蟻計算每個源(1,2和3)在單獨的列以下列格式的累計長度:
Timestamp 1 2 3
0 15 10 0
5 10 5 10
我想我可以在某些條件下使用df.groupby來獲取它。但困惑,累壞了吧:(
使用熊貓功能欣賞解決方案只
你的「僞數據」並不具有5列,所以你的'df_length'功能將無法正常工作 – asongtoruin