gpt4 book ai didi

python - 规范化多值列

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:02 26 4
gpt4 key购买 nike

我有这样的数据集:

data = {'Host': ['A','A','A', 'A'], 'Seq': ['0, 1, 2, 99',' 4, 5, 6', '999, 8', '100']}

df = pd.DataFrame(data)

我想规范化所有值。

首先我转到这个形状:

host Seq
A 0
A 1
A 2
A 99
A 4
A 5
A 6
A 999
A 8
A 100

通过这段代码:

df.join(df.pop('Seq')
.str.split(',',expand=True)
.stack()
.reset_index(level=1, drop=True)
.rename('Seq')).reset_index(drop=True)

在 StandartScaler 规范化之后:

df['Seq'] = scaler.fit_transform(np.array(df.Seq.values).reshape(-1, 1)).reshape(-1)

现在我不知道如何返回开始 View 。等待想法和评论

最佳答案

假设你没有破坏原来的索引信息

d_ = df.assign(Seq=df.Seq.str.split(',\s*')).explode('Seq')

d_

Host Seq
0 A 0
0 A 1
0 A 2
0 A 99
1 A 4
1 A 5
1 A 6
2 A 999
2 A 8
3 A 100

然后您可以按索引和'Host' 列进行分组

d_.groupby([d_.index, 'Host']).Seq.apply(', '.join).reset_index('Host')

Host Seq
0 A 0, 1, 2, 99
1 A 4, 5, 6
2 A 999, 8
3 A 100

关于python - 规范化多值列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58487989/

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