gpt4 book ai didi

python - 如何根据三列中的顺序将三列合并为一列

转载 作者:行者123 更新时间:2023-12-01 08:33:29 25 4
gpt4 key购买 nike

请问您能给我一些建议吗?

我有三列,例如:

x     y     z
0.2 0.5 0.26
0.75 0.58 0.25
0.78 0.86 0.95
0.56 0.75 0.52
0.45 0.47 0.57
0.2 0.58 0.98

结果:我只需要一列具有以下序列:

    xyz
x1 0.2
y1 0.5
z1 0.26
x2 0.75
y2 0.58
z2 0.25
... 0.78
0.86
0.95

我没有发现类似的问题...非常感谢。我尝试使用“dcast”(R)或“concat”(Python),但我是堆栈。

最佳答案

您可以使用pd.melt并使用 np.tile 创建所需的行名称:

m = df.T.melt(value_name='xyz')
rows = np.tile(df.columns, df.shape[0])
m['variable'] = rows.tolist() + (m.variable + 1).astype(str)

variable xyz
0 x1 0.20
1 y1 0.50
2 z1 0.26
3 x2 0.75
4 y2 0.58
5 z2 0.25
6 x3 0.78
7 y3 0.86
8 z3 0.95
9 x4 0.56
10 y4 0.75
11 z4 0.52
12 x5 0.45
13 y5 0.47
14 z5 0.57
15 x6 0.20
16 y6 0.58
17 z6 0.98

如果你想要像索引一样:

m.set_index('variable')

关于python - 如何根据三列中的顺序将三列合并为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53829367/

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