datetime 结合日期和时间戳
Posted
技术标签:
【中文标题】datetime 结合日期和时间戳【英文标题】:datetime combine date & time stamp 【发布时间】:2019-07-05 08:33:12 【问题描述】:我正在尝试使用此 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
吗?通常我所有的数据都是一个组合的日期时间......最后我需要在我的熊猫数据框中为新的组合日期时间列设置一个新索引。
非常感谢任何提示
【问题讨论】:
你可以使用import datetime
,然后像datetime.datetime.combine
或from datetime import datetime
一样使用它,然后datetime.combine
@Vaishali,谢谢您提供的链接中的答案完全有效...如果您发布答案,请点击绿色检查。 df= pd.read_csv('C:\\Users\\desktop\\master.csv', parse_dates=[['Date', 'Time']])
【参考方案1】:
假设您在第 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)
【讨论】:
【参考方案2】:函数 combine 在 datetime 模块中的 datetime 类型中。试试这个吧。
from datetime import datetime
df['DateTime'] = df.apply(lambda x: datetime.combine(df['Date'], df['Time']), axis=1)
【讨论】:
这会引发错误:TypeError: ('combine() argument 1 must be datetime.date, not Series', 'occurred at index 0')
【参考方案3】:
您可以使用 parse_dates 参数读取日期时间格式的指定列,也可以将它们作为对象读取,然后转换为日期时间。
选项 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'])
【讨论】:
你能帮我解决这个问题吗? ***.com/questions/54639490/…以上是关于datetime 结合日期和时间戳的主要内容,如果未能解决你的问题,请参考以下文章
python [Datetime utils] Python的日期时间和时间戳工具#py3 #datetime#utils
pandas使用to_datetime函数将unix时间戳转化为日期时间格式(Convert Unix times to DateTime)