I have four separate columns for YEAR, MO, DY, HR. How do I convert it into one column in Python from a CSV file

Viewed 29

The CSV file is now like

YEAR MO DY HR
2011 1 1 6

I want to be my python file to look like this:

DATE/TIME:
2011-01-01 06:00:00
1 Answers

You can simply add columns to create one string and later convert it to datetime (and eventually drop old columns)

data = '''YEAR,MO,DY,HR
2011,1,1,6'''

import pandas as pd
import io

df = pd.read_csv(io.StringIO(data))
print(df)

df["Date/Time"] = df["YEAR"].astype(str) + "-" + df["MO"].astype(str) + "-" + df["DY"].astype(str) + " " + df["HR"].astype(str) + ":00:00"
df["Date/Time"] = pd.to_datetime(df["Date/Time"])
print(df)

df = df.drop(columns=['YEAR','MO','DY','HR'])
print(df)

Result:

   YEAR  MO  DY  HR
0  2011   1   1   6

   YEAR  MO  DY  HR         Date/Time
0  2011   1   1   6  2011-01-01 06:00:00

            Date/Time
0 2011-01-01 06:00:00
Related