Python 如何基于不同列中的重复值将数组值移动到新列

Python 如何基于不同列中的重复值将数组值移动到新列,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我将python与numpy和pandas一起使用,我有一个如下所示的数据框架: index title Time Y 0 Part1 0.5 -117 1 Part1 1.0 -118 2 Part1 1.5 -137 3 Part1 2.0 -123 4 Part2 0.5 -97 5 Part2 1.0 -94 6 Part2 1.5 -95 7 Part2 2.0 -99 我希望它改变

我将python与numpy和pandas一起使用,我有一个如下所示的数据框架:

index   title Time  Y
0       Part1 0.5 -117
1       Part1 1.0 -118
2       Part1 1.5 -137
3       Part1 2.0 -123
4       Part2 0.5 -97
5       Part2 1.0 -94
6       Part2 1.5 -95
7       Part2 2.0 -99
我希望它改变,这样我就可以根据时间得到“第1部分”和“第2部分”的值。。。。像这样

index   title Time Part1 Part2
0       Part1 0.5 -117   -97
1       Part1 1.0 -118   -94
2       Part1 1.5 -137   -95
3       Part1 2.0 -123   -99
我实际上不需要索引或标题栏。我只需要时间,第一部分和第二部分

我曾尝试使用下面的代码制作两个较小的数据帧,并将它们串联起来,但最终得到的结果是:

a = df.loc[df['title'].str.contains('Part 1')]

b = df.loc[df['title'].str.contains('Part 2')]

c=pd.concat([a,b], axis=1)



index   title Time  Y   title  Time  Y
0       Part1 0.5 -117  nan    nan   nan
1       Part1 1.0 -118  nan    nan   nan
2       Part1 1.5 -137  nan    nan   nan
3       Part1 2.0 -123  nan    nan   nan
4       nan   nan nan   Part2  0.5   -97
5       nan   nan nan   Part2  1.0   -94
6       nan   nan nan   Part2  1.5   -95
7       nan   nan nan   Part2  2.0   -99
有人知道如何将其转换为格式,以便根据“时间”列中的匹配值显示Y值吗?我想我可以用某种循环来实现这一点,但我希望有一种更简单的方法使用匹配或某种内置函数

感谢您的帮助

更新

a = a.drop(columns=['title'])
b = b.drop(columns=['title'])
c=pd.merge(a, b, on=['Time'])
这将生成一个新的表,标题为“Time,Y_x,Y_Y”。不完美,因为“零件号”没有保留,但为我完成了工作


谢谢

我认为您需要使用
pivot
方法:

df.pivot(index="time", columns=["title"]).reset_index()

您可以在中找到更多信息。

我认为您需要使用
pivot
方法:

df.pivot(index="time", columns=["title"]).reset_index()
你可以在网上找到更多关于它的信息