当尝试根据列组(即“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)
使用 apply 时,
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))
关于python - pandas groupby 作为列表返回空,同时使用 agg 和 apply 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55454996/