Home > OS >  Outputting pandas timestamp to tuple with just month and day
Outputting pandas timestamp to tuple with just month and day

Time:02-20

I have a pandas dataframe with a timestamp field which I have successfully to converted to datetime format and now I want to output just the month and day as a tuple for the first date value in the data frame. It is for a test and the output must not have leading zeros. I ahve tried a number of things but I cannot find an answer without converting the timestamp to a string which does not work. This is the format 2021-05-04 14:20:00.426577

df_cleaned['trans_timestamp']=pd.to_datetime(df_cleaned['trans_timestamp']) is as far as I have got with the code.

I have been working on this for days and cannot get output the checker will accept.

CodePudding user response:

Update

If you want to extract month and day from the first record (solution proposed by @FObersteiner)

>>> df['trans_timestamp'].iloc[0].timetuple()[1:3]
(5, 4)

If you want extract all month and day from your dataframe, use:

# Setup
df = pd.DataFrame({'trans_timestamp': ['2021-05-04 14:20:00.426577']})
df['trans_timestamp'] = pd.to_datetime(df['trans_timestamp'])

# Extract tuple
df['month_day'] = df['trans_timestamp'].apply(lambda x: (x.month, x.day))
print(df)

# Output
             trans_timestamp month_day
0 2021-05-04 14:20:00.426577    (5, 4)
  • Related