gpt4 book ai didi

python - 重命名组名标题 pandas

转载 作者:太空宇宙 更新时间:2023-11-03 15:31:39 24 4
gpt4 key购买 nike

我使用下面的 python 代码在终端上打印报告

print(kf.groupby(level='ErrorCode').apply(lambda x: x/x.sum()))

获取

ErrorCode  ResponseType        
0 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
1 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
dtype: float64

但是 ErrorCode 0,1 必须映射到不同的数字。该映射可以以任何格式写入文件中。目前我可以将映射文件编写为

0 10.0.0.0
1 10.0.0.1
2 10.2.0.1

以上格式可以更改。有没有办法用映射值替换分组值输出。最终输出如下

ErrorCode           ResponseType        
0 10.0.0.0 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
1 10.0.0.1 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
dtype: float64

如果这可以在 bash 中完成,那就更好了,但是对齐应该是可读的。

如果这非常棘手,那么我只需根据映射文件更改 ErrorCode 列值(但我认为这也不是一个很好的方法)

Update1:​​类似地,我有 data.groupby([data['ErrorCode'], pd.Grouper(freq='1500T')])['latency'].describe().unstack(0)

我的输出是

ErrorCode                      0               1
Time_req
2017-03-08 count 111.000000 111.000000
mean 251509.738739 357710.729730
std 250469.755466 795885.356352
min 104877.000000 111343.000000
25% 132616.000000 131953.000000
50% 160899.000000 163100.000000
75% 261440.000000 279448.000000
max 2071299.000000 8039122.000000

但是我需要使用名为 myd 的字典来映射 ErrorCode这是 myd={0: '0 172.19.13.51', 1: '1 172.19.13.51'} ,输出如下所示

ErrorCode         0 172.19.13.51  1 172.19.13.51
Time_req
2017-03-08 count 111.000000 111.000000
mean 251509.738739 357710.729730
std 250469.755466 795885.356352
min 104877.000000 111343.000000
25% 132616.000000 131953.000000
50% 160899.000000 163100.000000
75% 261440.000000 279448.000000
max 2071299.000000 8039122.000000

最佳答案

您可以使用renamedictkeys 中的所有值替换为 values:

d = {0: '10.0.0.0', 1: '10.0.0.1',2: '10.2.0.1'}
df = df.rename(index=d)

print (df)
ErrorCode ResponseType
10.0.0.0 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
10.0.0.1 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
Name: val, dtype: float64

如果需要键和值在一起:

d = {0: '10.0.0.0', 1: '10.0.0.1',2: '10.2.0.1'}
d = {k:str(k) + ' ' + v for k, v in d.items()}
df = df.rename(index=d)

print (df)
ErrorCode ResponseType
0 10.0.0.0 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
1 10.0.0.1 CANCEL_ORDER_CONFIRM 0.7207
TRADE_CONFIRM 0.2792
Name: val, dtype: float64

关于python - 重命名组名标题 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42856772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com