如何在数据框中重塑和透视表
How to reshaping and pivot Tables in dataframe
我有以下示例的原始数据。变量行对应于值的范围;时间列对应于值。
然后,我想将它们排列在具有预期输出的数据框中。 3列,Variables是主要列,Values和Time是相应的列。但我不知道如何重新安排。
希望我解释清楚,让你明白我的问题。
Variables var1 var2 var3 var4
Time Values
2014-07-11 19:50:20 1 5 9 13
2014-07-11 19:50:30 2 6 10 14
2014-07-11 19:50:40 3 7 11 15
2014-07-11 19:50:50 4 8 12 16
预期输出:
Time Variables Values
2014-07-11 19:50:20 var1 1
2014-07-11 19:50:30 var1 2
2014-07-11 19:50:40 var1 3
2014-07-11 19:50:50 var1 4
2014-07-11 19:50:20 var2 5
2014-07-11 19:50:30 var2 6
2014-07-11 19:50:40 var2 7
2014-07-11 19:50:50 var2 8
我试过了pd.melt
没问题。
import pandas as pd
df1=pd.melt(df, id_vars='Time', value_vars=list(df.columns[1:]), var_name='Variables', value_name='Values')
我有以下示例的原始数据。变量行对应于值的范围;时间列对应于值。 然后,我想将它们排列在具有预期输出的数据框中。 3列,Variables是主要列,Values和Time是相应的列。但我不知道如何重新安排。 希望我解释清楚,让你明白我的问题。
Variables var1 var2 var3 var4
Time Values
2014-07-11 19:50:20 1 5 9 13
2014-07-11 19:50:30 2 6 10 14
2014-07-11 19:50:40 3 7 11 15
2014-07-11 19:50:50 4 8 12 16
预期输出:
Time Variables Values
2014-07-11 19:50:20 var1 1
2014-07-11 19:50:30 var1 2
2014-07-11 19:50:40 var1 3
2014-07-11 19:50:50 var1 4
2014-07-11 19:50:20 var2 5
2014-07-11 19:50:30 var2 6
2014-07-11 19:50:40 var2 7
2014-07-11 19:50:50 var2 8
我试过了pd.melt
没问题。
import pandas as pd
df1=pd.melt(df, id_vars='Time', value_vars=list(df.columns[1:]), var_name='Variables', value_name='Values')