如何使用其他列中的日期/时间信息在熊猫中创建新列

我有一个数据集,其中的年/月/日/小时/分钟/秒数据存储在单独的列中:

Day,Date,Month,Year,Hour,Min,Sec,Wind dir,WS (m/s),Press (hPa),RH (%),T(C),Td(C),SR (W/m2)
Thu,11,April,2019,16,23,27,31,1.28,993.4,38,7,-6.1,470
Thu,11,April,2019,16,24,27,103,1.21,993.5,39,7,-5.9,515

我已经将其从csv文件导入到Pandas数据框中:

df = pd.read_csv('/ Users / jacks / Downloads / Cornell / SP20 / Instrumentation / Lab 5 / EAS2500_MetPak11_18April2019.csv',engine ='python')

我想在此数据框中创建一个新列,以datetime格式存储日期/时间数据。我已经尝试使用以下代码:

df["Date_Time"] = datetime(df["Year"],df["Month"],df["Day"],df["Hour"],df["Min"],df["Sec"])

但我收到以下错误:

raise TypeError(f"cannot convert the series to {converter}")
TypeError: cannot convert the series to <class 'int'>

为什么没有这项工作,我将如何完成这项任务?

评论
  • Sunny
    Sunny 回复

    评论中的回答问题:如何将月份名称转换为数字。

    这是示例:

    df = pd.DataFrame(["Apr","May"], columns=["Month"])
    mnth_to_num = {"Apr":4,"May":5}
    df["Month_Num"] = df["Month"].apply(lambda x: mnth_to_num[x])