[英]Pandas Multiindex DataFrame - group by external series?
我有一個帶有兩個索引的DataFrame; 它看起來像這樣:
>>> by_hour
pr da delta delta_sq
node timestamputc
A 1 20.540423 21.093659 0.553237 9.869976
B 1 17.675580 18.183104 0.507524 11.474762
C 1 16.257307 16.961944 0.704638 68.023460
... ... ... ... ...
X 24 20.649155 20.805145 0.155990 43.176084
Y 24 20.677271 21.183925 0.506655 47.746125
Z 24 21.455556 21.725556 0.270000 39.393092
[60312 rows x 4 columns]
我有另一個具有單個索引的DataFrame,與by_hour
0級索引by_hour
:
>>> nodes
type
node
A type 1
B type 1
C type 2
... ...
X type 3
Y type 1
Z type 2
[2513 rows x 1 columns]
我想按第二個DataFrame的“類型”列對第一個DataFrame進行分組,同時保留1級索引,以得到如下輸出:
pr da delta delta_sq
type timestamputc
type 1 1
2
...
type 2 1
2
...
type n 1
...
24
我怎樣才能做到這一點? 是否可以不創建中間DataFrame?
這將按類型和時間戳聚合DataFrame:
node_type = nodes.loc[by_hour.index.get_level_values('node'), 'type'].values
timestamp = by_hour.index.get_level_values('timestamputc')
by_hour.groupby([node_type, timestamp]).sum()
pr da delta delta_sq
timestamputc
type 1 1 38.216003 39.276763 1.060761 21.344738
24 20.677271 21.183925 0.506655 47.746125
type 2 1 16.257307 16.961944 0.704638 68.023460
24 21.455556 21.725556 0.270000 39.393092
type 3 24 20.649155 20.805145 0.155990 43.176084
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.