python – 将列转换为pandas数据帧中的多行
发布时间:2020-12-20 11:04:15 所属栏目:Python 来源:网络整理
导读:我有一个看起来像这样的Dataframe: Deal Year Quarter_1 Quarter_2 Quarter_3 Financial_Datah 1 1991 1 2 3 120i 2 1992 4 5 6 80j 3 1993 7 8 9 100 我想将所有季度合并为一个新列,并复制交易编号,年份和财务数据.最终结果应如下所示: Deal Year Quarter
我有一个看起来像这样的Dataframe:
Deal Year Quarter_1 Quarter_2 Quarter_3 Financial_Data h 1 1991 1 2 3 120 i 2 1992 4 5 6 80 j 3 1993 7 8 9 100 我想将所有季度合并为一个新列,并复制交易编号,年份和财务数据.最终结果应如下所示: Deal Year Quarter Financial_Data h 1 1991 1 120 i 1 1991 2 120 j 1 1991 3 120 k 2 1992 4 80 l 2 1992 5 80 m 2 1992 6 80 n 3 1993 7 100 o 3 1993 8 100 p 3 1993 9 100 解决方法
你可以使用融化方法.
df = pd.melt(d,id_vars=["Deal","Year","Financial_Data"],value_name="Quarter").drop(['variable'],axis=1).sort_values('Quarter') 产量 Deal Year Financial_Data Quarter 0 1 1991 120 1 3 1 1991 120 2 6 1 1991 120 3 1 2 1992 80 4 4 2 1992 80 5 7 2 1992 80 6 2 3 1993 100 7 5 3 1993 100 8 8 3 1993 100 9 如果您有许多列,则可以使用df.columns.tolist()方法来满足您的要求. id_vars_list = df.columns.tolist() id_vars_list = id_vars_list[:2] + id_vars_list[-1] 声明将成为 df = pd.melt(d,id_vars=id_vars_list,axis=1).sort_values('Quarter') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |