簡體   English   中英

Pandas Multiindex DataFrame-按外部系列分組嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM