微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 在pandas中的行到列

我正在尝试在熊猫中进行以下操作.关于熊猫这样做的任何建议?

In [1]: input  = pd.DataFrame({"X_1": [1], "X_2": [2], "X_3": [5], "Y_1": [1.2], "Y_2": [2.3], "Y_3": [3.4]})

In [2]: input
Out[2]: 
   X_1  X_2  X_3  Y_1  Y_2  Y_3
0    1    2    5  1.2  2.3  3.4

In [3]: output = pd.DataFrame({"X": [1,2,5], "Y": [1.2, 2.3, 3.4]})

In [4]: output
Out[4]: 
   X    Y
0  1  1.2
1  2  2.3
2  5  3.4

解决方法:

使用str.split和stack.

df.columns = df.columns.str.split('_', expand=True)
df.stack().loc[0]

   X    Y
1  1  1.2
2  2  2.3
3  5  3.4

注意:索引是[1,2,3]与原始列匹配.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐