我将如何在熊猫中执行更宽的枢轴?(Python)

我将如何在熊猫中执行更宽的枢轴?(Python),python,pandas,numpy,pivot,Python,Pandas,Numpy,Pivot,我有一个数据集,df: Action Date Begin 3/16/2020 12:35:47 PM End 3/16/2020 12:35:49 PM Begin 3/16/2020 01:35:47 PM End 3/16/2020 0

我有一个数据集,df:

Action                        Date



Begin                         3/16/2020 12:35:47 PM

End                           3/16/2020 12:35:49 PM

Begin                         3/16/2020 01:35:47 PM

End                           3/16/2020 01:35:49 PM
预期结果:

Begin                          End



3/16/2020 12:35:47 PM           3/16/2020 12:35:49 PM

3/16/2020 01:35:47 PM           3/16/2020 01:35:49 PM
结构:

'  Action             Date\n0  Begin  3/16/2020 12:35\n1    
End              3/16/2020 12:35\n2  Begin  3/16/2020 13:35\n3    
End  3/16/2020 13:35'
我所尝试的:

我认为这是一个置换类型的问题,但不是很确定

  df2=df.pivot(columns='Action', values='Date')
这给出了奇怪的NAN值

  df1 = df.set_index(['Action','Date']).unstack().reset_index()

任何建议都很有帮助。

您可以使用轴,在结束或开始列上执行:

(df.pivot(columns='Action',values='Date')
 .assign(End = lambda x:x.End.bfill())
 .dropna()
 .rename_axis(None,axis='columns')
)


           Begin                     End
0   3/16/2020 12:35:47 PM   3/16/2020 12:35:49 PM
2   3/16/2020 01:35:47 PM   3/16/2020 01:35:49 PM

您为熊猫问题共享了R数据结构(
dput
)?抱歉,我不确定如何为熊猫共享dput。让我看看这个upI已经包括了str(df),我会查这个,但是lambda到底是做什么的?(微积分基金会?):它做什么?一个问题。对于输出,我没有得到am/PM,格式有点不同。数据是否必须首先转换为Datetime?此外,代码适用于我的一个数据集,但在第二个数据集上它不断给出:AttributeError:“DataFrame”对象没有属性“Ended”,我对此进行了研究,但我确实将此名称作为我的dataframeOk这有效!但我不得不对另一个数据集进行分析。我正在研究为什么会这样。为什么我不能将“bfill”同时应用于这两个呢?现在可以了。你有没有办法看看我最近的问题?我正在尝试合并两个数据集,并使用了以下方法:pd.merge_asof(df1,df2,on=“Connect”,by='Start',tolerance=pd.Timedelta('20s'),direction='backward'))