Home > database >  Dataframe String Separation
Dataframe String Separation

Time:09-27

enter image description here

How do I extract each column as one column instead of (year, month, day) format??? Please refer to the photo

def temp(i):
 i = str(i)
 year = i[0:4]
 moth = i[4:6]
 day = i[6:8]
 return year,moth,day

profile_drop["year","moth","day"] = profile_drop["became_member_on"].apply(temp)

CodePudding user response:

Although it isn't directly your question, the easiest way to extract the date is convert it to datetime and then use pandas bulit-in operation:

profile_drop["became_member_on_date"] = pd.to_datetime(profile_drop["became_member_on"], format='%Y%m%d')
profile_drop['year'] = profile_drop["became_member_on_date"].dt.year
profile_drop['month'] = profile_drop["became_member_on_date"].dt.month
profile_drop['day'] = profile_drop["became_member_on_date"].dt.day

In this snippet I first converted the string to a full datetime using pd.to_datetime (and explicitly mentioned the format how to parse) and then extract each relevant year/month/day just by calling to .year over the date column. It is also a way to avoid .apply which is not recommended to use unless you have to

A classic XY Question.

  • Related