如何组合日期列和时间列[重复]
Posted
技术标签:
【中文标题】如何组合日期列和时间列[重复]【英文标题】:How to combine date column and time column [duplicate] 【发布时间】:2018-01-14 06:54:19 【问题描述】:我的数据看起来像这样
Date Time Open High Low Close Volume
0 2013.07.09 7:00 101.056 101.151 101.016 101.130 1822
1 2013.07.09 8:00 101.130 101.257 101.128 101.226 2286
2 2013.07.09 9:00 101.226 101.299 101.175 101.180 2685
3 2013.07.09 10:00 101.178 101.188 101.019 101.154 2980
4 2013.07.09 11:00 101.153 101.239 101.146 101.188 2623
如何将日期列和时间列合并为一列,即日期时间。 我想知道我是否必须将字符串更改为日期。 预先感谢。
【问题讨论】:
【参考方案1】:如果您有“日期”列作为时间戳,那么您将它们转换为字符串并添加它们,然后将它们转换为时间戳,即
df['Datetime'] = pd.to_datetime(df['Date'].apply(str)+' '+df['Time'])
输出:
日期 时间 开盘 高 低 收盘量 \ 0 2013-07-09 7:00 101.056 101.151 101.016 101.130 1822 1 2013-07-09 8:00 101.130 101.257 101.128 101.226 2286 2 2013-07-09 9:00 101.226 101.299 101.175 101.180 2685 3 2013-07-09 10:00 101.178 101.188 101.019 101.154 2980 4 2013-07-09 11:00 101.153 101.239 101.146 101.188 2623 约会时间 0 2013-07-09 07:00:00 1 2013-07-09 08:00:00 2 2013-07-09 09:00:00 3 2013-07-09 10:00:00 4 2013-07-09 11:00:00【讨论】:
非常感谢 Bharath shetty。您能告诉我如何指定哪些数据是字符串、日期或时间格式吗? 您可以使用print(df.dtypes)
了解每列的类型。
@Bharath shetty 如何将此新列替换为我的数据框中的日期和时间列?
获取日期时间列后删除列,即df.drop(df[['Date','Time']], axis=1)
【参考方案2】:
dataframe["Date Time"] = dataframe["Date"].map(str) + dataframe["Time"]
更新
格式化可以使用的日期
dataframe["Date Time"] =pd.to_datetime(dataframe["Date"].map(str) +'-'+ dataframe["Time"])
您可以从数据框中删除那些 Date
和 Time
列,而不是替换。像这样
del dataframe["Date"], dataframe["Time"]
【讨论】:
感谢 R.A.Munna 但我认为这不是日期格式,不是吗。如何更改为日期时间格式。我希望这个新列将替换我的数据框中的日期和时间列以上是关于如何组合日期列和时间列[重复]的主要内容,如果未能解决你的问题,请参考以下文章