gpt4 book ai didi

python - 将列传递给 python pandas 上的行

转载 作者:太空狗 更新时间:2023-10-29 23:57:56 25 4
gpt4 key购买 nike

我有这样一个数据框

 id  a  b  c
101 0 3 0
102 2 0 5
103 0 1 4

我想要这样的东西

 id  letter  num
101 a 0
101 b 3
101 c 0
102 a 2
102 b 0
102 c 5
103 a 0
103 b 1
103 c 4

我想将列名传递给一行的值及其相应的 id 和 df 的结果。

我试图让它进入一个循环,根据它的 id 引入每个元素,但这很糟糕。有没有简单的方法可以做到这一点?

最佳答案

你可以 melt然后排序:

>>> pd.melt(df, id_vars='id', value_vars=['a','b','c'], 
var_name='letter', value_name='num').sort_values('id')
id letter num
0 101 a 0
3 101 b 3
6 101 c 0
1 102 a 2
4 102 b 0
7 102 c 5
2 103 a 0
5 103 b 1
8 103 c 4

如果你想重置索引,你总是可以在返回的 DataFrame 上使用 .reset_index(drop=True)

关于python - 将列传递给 python pandas 上的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36703477/

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