मान लें, आपके पास डेटाफ़्रेम में डेटाटाइम कॉलम है और दिनांक और समय को अलग करने का परिणाम है,
datetime date time 0 2020-01-01 07:00:00 2020-01-06 07:00:00 1 2020-01-02 07:00:00 2020-01-06 07:00:00 2 2020-01-03 07:00:00 2020-01-06 07:00:00 3 2020-01-04 07:00:00 2020-01-06 07:00:00 4 2020-01-05 07:00:00 2020-01-06 07:00:00 5 2020-01-06 07:00:00 2020-01-06 07:00:00
इसे हल करने के लिए, हम नीचे दिए गए तरीकों का पालन करेंगे -
समाधान 1
-
pd.date_range() का उपयोग करके डेटाफ़्रेम 'डेटाटाइम' कॉलम को परिभाषित करें। इसे नीचे परिभाषित किया गया है,
pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:00',periods=6)})
-
df['datetime'] कॉलम को एक-एक करके एक्सेस करने के लिए लूप d वैरिएबल के लिए सेट करें।
-
लूप के लिए दिनांक और समय को कनवर्ट करें और इसे df['date'] और df['time'] के रूप में सहेजें। इसे नीचे परिभाषित किया गया है,
for d in df['datetime']: df['date'] = d.date() df['time'] = d.time()
उदाहरण
आइए एक बेहतर समझ पाने के लिए निम्नलिखित कोड की जाँच करें -
import pandas as pd df = pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:00',periods=6)}) print("DataFrame is:\n", df) for d in df['datetime']: df['date'] = d.date() df['time'] = d.time() print(df)
आउटपुट
DataFrame is: datetime 0 2020-01-01 07:10:00 1 2020-01-02 07:10:00 2 2020-01-03 07:10:00 3 2020-01-04 07:10:00 4 2020-01-05 07:10:00 5 2020-01-06 07:10:00 Date-time-hour-minutes : datetime date time 0 2020-01-01 07:10:00 2020-01-06 07:10:00 1 2020-01-02 07:10:00 2020-01-06 07:10:00 2 2020-01-03 07:10:00 2020-01-06 07:10:00 3 2020-01-04 07:10:00 2020-01-06 07:10:00 4 2020-01-05 07:10:00 2020-01-06 07:10:00 5 2020-01-06 07:10:00 2020-01-06 07:10:00
समाधान 2
-
डेटाफ़्रेम परिभाषित करें
-
df['datetime'] के अंदर pd.to_datetime() फ़ंक्शन लागू करें और dt.date का उपयोग करके दिनांक चुनें और फिर इसे df['date']
के रूप में सहेजें -
df['datetime'] के अंदर pd.to_datetime() फ़ंक्शन लागू करें और dt.time का उपयोग करके समय चुनें फिर इसे df['time']
के रूप में सहेजें
उदाहरण
आइए एक बेहतर समझ पाने के लिए निम्नलिखित कोड की जाँच करें -
import pandas as pd df = pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:10',periods=6)}) print("DataFrame is:\n", df) df['date'] = pd.to_datetime(df['datetime']).dt.date df['time'] = pd.to_datetime(df['datetime']).dt.time print("Date-time-hour-minutes :\n", df)
आउटपुट
DataFrame is: datetime 0 2020-01-01 07:10:00 1 2020-01-02 07:10:00 2 2020-01-03 07:10:00 3 2020-01-04 07:10:00 4 2020-01-05 07:10:00 5 2020-01-06 07:10:00 Date-time-hour-minutes : datetime date time 0 2020-01-01 07:10:00 2020-01-06 07:10:00 1 2020-01-02 07:10:00 2020-01-06 07:10:00 2 2020-01-03 07:10:00 2020-01-06 07:10:00 3 2020-01-04 07:10:00 2020-01-06 07:10:00 4 2020-01-05 07:10:00 2020-01-06 07:10:00 5 2020-01-06 07:10:00 2020-01-06 07:10:00