加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在pandas中的行到列

发布时间:2020-12-20 11:52:23 所属栏目:Python 来源:网络整理
导读:我正在尝试在熊猫中进行以下操作.关于熊猫这样做的任何建议? 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]: inputOut[2]: X_1 X_2 X_3 Y_1 Y_2 Y_30 1 2 5 1.2 2.3 3.4In [3]: output
我正在尝试在熊猫中进行以下操作.关于熊猫这样做的任何建议?

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,3]与原始列匹配.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读