कनवर्ट दिनांक उदा. अगस्त 2018 --> 01-08-2018 ??

यहाँ मेरा नमूना इनपुट है

id      year_pass
1       Aug 2018 - Nov 2018
2       Jul 2017 - Oct 2017

आउटपुट होना चाहिए:

id      year_pass
1       01-08-2018
2       01-07-2017 

या

id      year_start    year_end
1       01-08-2018    01-11-2018
2       01-07-2018    01-10-2018
0
user9833846 30 जिंदा 2019, 20:49

2 जवाब

सबसे बढ़िया उत्तर

यहाँ एक समाधान है।

import pandas as pd
import numpy as np
from datetime import datetime

# creating the sample dataframe
df = pd.DataFrame([[0.57, 'Aug 2018 - Nov 2018'], 
                   [0.11, 'Jul 2017 - Oct 2017']], 
                   columns=['id', 'year_pass'])

# splitting the date column on the '-'
year_start, year_end = df['year_pass'].str.split('-')
df.drop('year_pass', axis=1, inplace=True)

# assigning the split values to columns
df['year_start'] = year_start
df['year_end'] = year_end

# converting to datetime objects
df['year_start'] = pd.to_datetime(df['year_start'])
df['year_end'] = pd.to_datetime(df['year_end'])
0
Alex F 30 जिंदा 2019, 20:59

आप सबसे पहले year_pass कॉलम को इस तरह विभाजित कर सकते हैं:

new_df = df.year_pass.str.split(' - ')

new_df1 = new_df.apply(pd.Series)

new_df2 = pd.to_datetime(new_df1[0])

फिर आप परिणामी डेटाफ़्रेम को वास्तविक डेटाफ़्रेम में मर्ज कर सकते हैं। इसे कोड की एक पंक्ति में रखने के लिए:

new_df = pd.to_datetime(df.year_pass.str.split(' - ').apply(pd.Series)[0])

दिनांक प्रारूप YYYY-MM-DD होगा न कि DD-MM-YYYY

0
thelogicalkoan 30 जिंदा 2019, 21:00