簡體   English   中英

pandas groupby as list 返回空的 agg 和 apply 函數

[英]pandas groupby as list returns empty with both agg and apply function

當嘗試根據列組(即“master_mac”和“slave_mac”)將“rssi”列作為列表返回時,pandas 數據框返回空,下面是我的輸入數據框

   master_mac    slave_mac        uuid           rawData   rssi            
0  ac233fc01403  ac233f26492b     e2c56db5       NaN       -23                                                  
1  ac233fc01403  ac233f26492b     e2c56db5       NaN       -28                                                  
2  ac233fc01403  ac233f26492b     e2c56db5       NaN       -32                                                   
3  ac233fc01403  ac233f26492b     e2c56db5       NaN       -37
4  ac233fc01403  e464eecba5eb     NaN            590080    -25         
5  ac233fc01403  ac233f26492b     e2c56db5       NaN       -29 
6  ac233fc01403  ac233f26492b     e2c56db5       NaN       -31                                                    
7  ac233fc01403  ac233f26492b     e2c56db5       NaN       -30

結果應該是,

   master_mac    slave_mac     uuid     rawData  rssi            
0  ac233fc01403  ac233f26492b  e2c56db5 NaN      [-23,-28,-32,-37,-29,-31,-30]                                                  
1  ac233fc01403  e464eecba5eb     NaN   590080   [-25]         

而當我使用時,

df.groupby(['master_mac', 'slave_mac','uuid','rawData'])['rssi'].apply(list)

同樣的回報,

Series([], Name: rssi, dtype: float64)

在使用申請時,

df.groupby(['master_mac','slave_mac','uuid','rawData']).apply(lambda x: x['rssi'].values)

它返回為,

Empty DataFrame
Columns: []
Index: []

在使用 agg 時,

df.groupby(['master_mac','slave_mac','uuid','rawData']).agg(lambda x: list(x))

返回為,

Empty DataFrame
Columns: []
Index: []

嘗試

df.groupby(['master_mac', 'slave_mac','uuid','rawData'])['rssi'].agg(lambda x: list(x))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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