python – 将pandas数据帧从wide转换为long
发布时间:2020-12-20 12:34:20 所属栏目:Python 来源:网络整理
导读:我有一个包含以下列的 pandas.Dataframe : a_1 ab_1 ac_1 a_2 ab_2 ac_22 3 4 5 6 7 如何将其转换为以下内容? a ab ac 2 3 45 6 7 我试图使用pandas melt来从宽格式转换为长格式,但不确定语法. 解决方法 您可以将 split 用于MultiIndex,然后在 stack 之前
我有一个包含以下列的
pandas.Dataframe :
a_1 ab_1 ac_1 a_2 ab_2 ac_2 2 3 4 5 6 7 如何将其转换为以下内容? a ab ac 2 3 4 5 6 7 我试图使用pandas melt来从宽格式转换为长格式,但不确定语法. 解决方法
您可以将
split 用于MultiIndex,然后在
stack 之前重新整形,最后使用
reset_index 删除MultiIndex:
df.columns = df.columns.str.split('_',expand=True) df = df.stack().reset_index(drop=True) print (df) a ab ac 0 2 3 4 1 5 6 7 df = df.stack().reset_index(level=0,drop=True) print (df) a ab ac 1 2 3 4 2 5 6 7 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |