如何将DataFrame中Time:Date与Time:Time两列合并为Date:Time列
解决方案:合并Pandas DataFrame中的日期和时间列
嘿,这个需求很容易实现,用Pandas的字符串拼接功能就能快速搞定!下面是具体步骤和代码示例:
步骤1:还原你的数据集(模拟示例)
先把你提供的DataFrame还原出来,方便演示:
import pandas as pd data = { 'Time:Date': ['03/28/2018', '03/28/2018', '03/28/2018', '03/28/2018', '03/28/2018'], 'Time:Time': ['10:00:00 AM', '10:01:00 AM', '10:02:00 AM', '10:03:00 AM', '10:04:00 AM'] } df = pd.DataFrame(data)
步骤2:合并两列生成目标列
直接将Time:Date和Time:Time的字符串用空格拼接,赋值给新的Date:Time列:
# 用空格分隔日期和时间字符串,合并成新列 df['Date:Time'] = df['Time:Date'] + ' ' + df['Time:Time']
步骤3:移除原列(可选)
如果不需要保留原来的两列,用drop方法删除它们即可:
# axis=1表示对列进行操作,删除指定的两列 df = df.drop(['Time:Date', 'Time:Time'], axis=1)
额外优化:转为datetime类型(方便后续操作)
如果之后需要对时间列做筛选、计算等操作,建议把字符串转为Pandas的datetime类型:
# 按照你的时间格式指定解析规则 df['Date:Time'] = pd.to_datetime(df['Date:Time'], format='%m/%d/%Y %I:%M:%S %p')
这里的format参数对应你的时间格式:
%m:两位数字的月份(01-12)%d:两位数字的日期(01-31)%Y:四位数字的年份%I:12小时制的小时(01-12)%M:两位数字的分钟(00-59)%S:两位数字的秒(00-59)%p:AM/PM标识
执行完上面的代码,就能得到你想要的输出结果啦!
内容的提问来源于stack exchange,提问作者Rafiq Shaikh
相关产品推荐
相关产品推荐

