Python 3.x 组合不同的日期和时间列以形成日期时间值
我正在尝试从创建YYYY-MM-DD HH:MM:SS AM/PM格式(例如2017-01-01 12:00:00 AM) A.DDMMMYYYY格式的日期列(例如2017年1月1日);和 B时间列的格式为HH:MM:SS AM/PM(例如,12:00:00 AM) (b)中的AM/PM似乎是最大的问题 我尝试了一些从堆栈溢出的方法 A.读取.csv(parse_dates=[['date','time]]),然后使用pd.to_datetime(df,格式='%d%b%Y%H:%M:%S')重新排列日期时间列。 B在尝试连接两个函数之前,使用datetime函数和time函数将“date”转换为使用pd.time_delta的timedelta。 C循环() D编写解析器,然后将解析器与parse_dates=[['date','time']]一起包含到pd.read_csv命令中。() aPython 3.x 组合不同的日期和时间列以形成日期时间值,python-3.x,pandas,datetime,Python 3.x,Pandas,Datetime,我正在尝试从创建YYYY-MM-DD HH:MM:SS AM/PM格式(例如2017-01-01 12:00:00 AM) A.DDMMMYYYY格式的日期列(例如2017年1月1日);和 B时间列的格式为HH:MM:SS AM/PM(例如,12:00:00 AM) (b)中的AM/PM似乎是最大的问题 我尝试了一些从堆栈溢出的方法 A.读取.csv(parse_dates=[['date','time]]),然后使用pd.to_datetime(df,格式='%d%b%Y%H:%M:%S')重
df=pd.read_csv('a.csv',parse_dates=[['date','time']]))
df['datetime']=pd.to_datetime(df['datetime'],format=format='%d%b%Y%H:%M:%S)
b<代码>df=pd.read\u csv('a.csv'))
df[“日期”]=pd.to_datetime(df[“日期”])
df[“Time”]=pd.to_timedelta(df[“Time”])
df[“DateTime”]=df[“Date”]+df[“Time”]
c。与链接中的代码相同
d。与链接中的代码相同
我收到了大量关于格式的错误消息,因为时间列在HH:MM:SS部分之后有AM或PM部分。使用
将datetime
与%I
用于解析小时,使用%p
用于解析AM/PM
。最后,如果需要在输出AM/PM
中通过以下方式转换为字符串:
对不起,我有一个后续问题。如果我的日期第一次被转换为df['date\u actual']=pd.到_datetime(df['date\u actual'],格式='%d%b%Y'),这样我就可以按照日期优先将不同的数据帧合并在一起,从而生成2017-01-01。如何将其与包含诸如12:00:00 AM等值的时间列合并?我又试过了,但我觉得没用
df = pd.read_csv('a.csv')
print (df)
Date Time
0 01JAN2017 12:00:00 AM
df["DateTime"] = pd.to_datetime(df["Date"] + ' ' +df["Time"], format='%d%b%Y %I:%M:%S %p')
df["DateTime_str"] = df["DateTime"].dt.strftime('%Y-%m-%d %I:%M:%S %p')
print (df)
Date Time DateTime DateTime_str
0 01JAN2017 12:00:00 AM 2017-01-01 2017-01-01 12:00:00 AM