【问题标题】:How do I pivot datetime as values in python?python - 如何将日期时间作为python中的值?
【发布时间】:2021-01-03 12:51:18
【问题描述】:

我想将日期时间作为枢轴中的值。我拥有的数据框如下所示 -

df

Lane Timestamp_arrival Timestamp_departure
a 12/17/2020 8:00:00 PM
a 12/18/2020 12:00:00 AM
b 12/18/2020 8:00:00 PM
b 12/19/2020 12:00:00 AM
c 12/20/2020 8:00:00 PM
c 12/20/2020 12:00:00 AM

所需的输出应该如下 -

Lane Timestamp_arrival Timestamp_departure
a 12/17/2020 8:00:00 PM 12/18/2020 12:00:00 AM
b 12/18/2020 8:00:00 PM 12/18/2020 12:00:00 AM
c 12/20/2020 8:00:00 PM 12/20/2020 12:00:00 AM

我尝试了以下方法,但遇到了 DataError: No numeric types to aggregate

df2 = pd.pivot_table(df, index = 'Lane', values = ['Timestamp_arrival', 'Timestamp_departure'])

这是一个示例表。实际表要大得多,每个通道(a,b,c)的时间戳要多得多。他们的到达和离开在不同的行中,我想让他们在一行中对时间戳执行数学运算。任何帮助将不胜感激!

【问题讨论】:

    标签: python-3.x dataframe pivot-table python-datetime


    【解决方案1】:

    尝试使用此代码:

    print(df.replace('', np.nan).groupby('Lane').apply(lambda x: x.apply(lambda y: y.dropna().tolist()).iloc[0]).rename_axis('').reset_index().drop('', axis=1))
    

    【讨论】:

    • 嗨,我尝试了代码,但没有成功。它给了我所有的车道并删除了所有的时间戳。
    猜你喜欢
    • 2018-08-02
    • 2010-10-27
    • 2014-07-06
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多