gpt4 book ai didi

python - 转置具有多列的 Pandas 数据框

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:42 31 4
gpt4 key购买 nike

我有一个目前看起来像这样的数据框:

import numpy as np
raw_data = {'Series_Date':['2017-03-10','2017-03-13','2017-03-14','2017-03-15'],'SP':[35.6,56.7,41,41],'1M':[-7.8,56,56,-3.4],'3M':[24,-31,53,5]}
import pandas as pd
df = pd.DataFrame(raw_data,columns=['Series_Date','SP','1M','3M'])
print df

我想以一种方式转置所有值字段都转置到值列并将日期附加为行项目。值字段的列名称成为描述列的一行。即生成的 Dataframe 应如下所示:

import numpy as np
raw_data = {'Series_Date':['2017-03-10','2017-03-10','2017-03-10','2017-03-13','2017-03-13','2017-03-13','2017-03-14','2017-03-14','2017-03-14','2017-03-15','2017-03-15','2017-03-15'],'Value':[35.6,-7.8,24,56.7,56,-31,41,56,53,41,-3.4,5],'Desc':['SP','1M','3M','SP','1M','3M','SP','1M','3M','SP','1M','3M']}
import pandas as pd
df = pd.DataFrame(raw_data,columns=['Series_Date','Value','Desc'])
print df

有人可以帮助我如何以这种方式翻转和转置我的 DataFrame 吗?

最佳答案

使用pd.meltDF 从宽格式转换为长格式:

idx = "Series_Date"              # identifier variable
pd.melt(df, id_vars=idx, var_name="Desc").sort_values(idx).reset_index(drop=True)

enter image description here

关于python - 转置具有多列的 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090132/

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