我看到了很多转换数据的示例,但没有类似的例子。我正在尝试转置看起来像-
的csv数据Region,1989,1900,2000
new york,3,4,5
atlanta,7,9,0
chicago,8,9,10
到
Region,Year,value
new york,1989,3
new york,1900,4
new york,2000,5
atlanta,1989,7
atlanta,1900,9
atlanta,2000,0
答案 0 :(得分:0)
您正在尝试从宽数据格式转换为长数据格式。可以使用melt
函数来完成。如果您有一些需要删除的列,则可以将数据框切片为感兴趣的列。
代码:
#creating df
df = pd.DataFrame(data = {'Region':['new york', 'atlanta', 'chicago'], '1989': [3,7,8], '1900': [4,9,9], '2000': [5,0,10]})
#converting to long format
long_df = pd.melt(df, id_vars=['Region'], value_vars=['1989', '1900', '2000'], var_name='year', value_name = 'value')
输出: