datetime合并日期和时间戳

时间:2019-02-11 19:10:55

标签: python pandas datetime data-science

我正在尝试使用此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 个答案:

答案 0 :(得分:0)

让我们假设您要在第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)

答案 1 :(得分:0)

功能组合位于datetime模块中的datetime类型内。试试这个吧。

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

答案 2 :(得分:0)

您可以使用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'])