代码之家  ›  专栏  ›  技术社区  ›  bbartling

日期时间组合日期和时间戳

  •  1
  • bbartling  · 技术社区  · 6 年前

    我想用这个 SO post 结合日期和时间戳,但没有任何运气。

    #df= pd.read_csv('C:\\Users\\desktop\\master.csv', index_col='Date', parse_dates=True)
    df= pd.read_csv('C:\\Users\\desktop\\master.csv')
    

    这就是我被困的地方,我不知道该怎么做 import the package 正确地。。

    这不起作用: from datetime import combine

    df['DateTime'] = df.apply(lambda x: combine(df['Date'], df['Time']), axis=1)
    

    当一切都说了又做了,我需要吗 parse_dates=True ?通常我所有的数据都是一个综合的日期时间…最后,我需要在我的熊猫数据框架中为新的合并日期时间列设置一个新的索引。

    任何小费都非常感谢谢谢

    3 回复  |  直到 6 年前
        1
  •  0
  •   Vaishali    6 年前

    您可以使用parse_dates参数以datetime格式读取指定的列,或者将其作为对象读取,然后转换为datetime。

    选项1:

    df= pd.read_csv('C:\\Users\\desktop\\master.csv', parse_dates=[['Date', 'Time']])
    

    选项2:

    df= pd.read_csv('C:\\Users\\desktop\\master.csv')
    df['datetime'] = pd.to_datetime(df['Date'] + ' ' + df['Time'])
    
        2
  •  0
  •   Wojciech Moszczyński    6 年前

    假设您在第1列中有要从中创建日期的数据,然后使用魔力公式:

    df= pd.read_csv('C:\\Users\\desktop\\master.csv',  parse_dates=[1])
    

    你的方法是:

    parse_dates = True
    

    有时不起作用

    如果您的所有数据通常都是日期和时间的组合,则可以使用此公式组合3列:

    df['date2']= pd.to_datetime(df[['year', 'month', 'day']])
    # to check
    print(m1.dtypes)
    
        3
  •  0
  •   SKG    6 年前

    函数combine位于datetime模块中的datetime类型内。试试这个。

    from datetime import datetime
    df['DateTime'] = df.apply(lambda x: datetime.combine(df['Date'], df['Time']), axis=1)