在python中基于重复项重新格式化表

在python中基于重复项重新格式化表,python,reformatting,Python,Reformatting,我有一个包含三列的表,如下所示: time variable value t1 var1 x1 t1 var2 x2 t2 var1 x3 t2 var2 x4 t3 var1 x5 t3 var2 x6 time var1 var2 t1 x1 x2 t2 x3 x4 t3 x5 x6 我想重新格式化此表,使其具有唯一的时间瞬间,并获得每个变量在该瞬间

我有一个包含三列的表,如下所示:

time  variable  value
t1    var1      x1
t1    var2      x2
t2    var1      x3
t2    var2      x4
t3    var1      x5
t3    var2      x6
time  var1  var2
t1    x1    x2
t2    x3    x4
t3    x5    x6
我想重新格式化此表,使其具有唯一的时间瞬间,并获得每个变量在该瞬间的值,如下所示:

time  variable  value
t1    var1      x1
t1    var2      x2
t2    var1      x3
t2    var2      x4
t3    var1      x5
t3    var2      x6
time  var1  var2
t1    x1    x2
t2    x3    x4
t3    x5    x6
我使用的是Spyder IDE。

使用来自pandas库更容易,您可以使用pandas pivot方法解决它,如下所示

df = pd.load_csv("yourfilename.csv")
df.pivot(index='time', columns='variable', values='value')
使用“来自pandas”库更容易,您可以使用pandas pivot方法解决它,如下所示

df = pd.load_csv("yourfilename.csv")
df.pivot(index='time', columns='variable', values='value')

您的表是哪种python对象?好的,它是一个numpy表。我正在从matlab迁移到python。看看Pandas包中的数据帧。它们的用途极其广泛。我给它一个很好的改变,他们做你想做的。好的,谢谢。我正在看一看。你的表是哪种python对象?好的,这是一个numpy表。我正在从matlab迁移到python。看看Pandas包中的数据帧。它们的用途极其广泛。我给它一个很好的改变,他们做你想做的。好的,谢谢。我正在看一看。当您的表有4列或更多列时,它是如何工作的?它的工作原理相同,它水平排列新列。当您的表有4列或更多列时,它是如何工作的?它的工作原理相同,它水平排列新列