पांडा: दो समयों के बीच अंतर की गणना कैसे करें


आप पांडा डेटाफ़्रेम में दो बार के बीच अंतर की गणना करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #calculate time difference in hours
df[' hours_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (hours= 1 )

#calculate time difference in minutes
df[' min_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (minutes= 1 )

#calculate time difference in seconds
df[' sec_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (seconds= 1 )

यह विशेष उदाहरण कुछ पांडा डेटाफ़्रेम के एंड_टाइम और स्टार्ट_टाइम कॉलम में समय के बीच अंतर की गणना करता है।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: पांडा में दो समय के बीच अंतर की गणना करना

मान लीजिए हमारे पास निम्नलिखित पांडा डेटाफ़्रेम हैं:

 import pandas as pd

#createDataFrame
df=pd. DataFrame ({' start_time ':pd. date_range (start=' 5/25/2020 ', periods= 6 , freq=' 15min '),
                 ' end_time ':pd. date_range (start=' 5/26/2020 ', periods= 6 , freq=' 30min ')})

#view DataFrame
print (df)

           start_time end_time
0 2020-05-25 00:00:00 2020-05-26 00:00:00
1 2020-05-25 00:15:00 2020-05-26 00:30:00
2 2020-05-25 00:30:00 2020-05-26 01:00:00
3 2020-05-25 00:45:00 2020-05-26 01:30:00
4 2020-05-25 01:00:00 2020-05-26 02:00:00
5 2020-05-25 01:15:00 2020-05-26 02:30:00

हम घंटों, मिनटों और सेकंड के संदर्भ में स्टार्ट_टाइम और एंड_टाइम कॉलम के बीच समय अंतर की गणना करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #calculate time difference in hours
df[' hours_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (hours= 1 )

#calculate time difference in minutes
df[' min_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (minutes= 1 )

#calculate time difference in seconds
df[' sec_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (seconds= 1 )

#view updated DataFrame
print (df)

           start_time end_time hours_diff min_diff sec_diff
0 2020-05-25 00:00:00 2020-05-26 00:00:00 24.00 1440.0 86400.0
1 2020-05-25 00:15:00 2020-05-26 00:30:00 24.25 1455.0 87300.0
2 2020-05-25 00:30:00 2020-05-26 01:00:00 24.50 1470.0 88200.0
3 2020-05-25 00:45:00 2020-05-26 01:30:00 24.75 1485.0 89100.0
4 2020-05-25 01:00:00 2020-05-26 02:00:00 25.00 1500.0 90000.0
5 2020-05-25 01:15:00 2020-05-26 02:30:00 25.25 1515.0 90900.0

नए कॉलम में विभिन्न इकाइयों में स्टार्ट_टाइम और एंड_टाइम कॉलम के बीच समय का अंतर होता है।

उदाहरण के लिए, पहली पंक्ति पर विचार करें:

  • प्रारंभ समय और समाप्ति समय के बीच का अंतर 24 घंटे है।
  • प्रारंभ समय और समाप्ति समय के बीच का अंतर 1440 मिनट है।
  • प्रारंभ समय और समाप्ति समय के बीच का अंतर 86,400 सेकंड है।

ध्यान दें कि इस उदाहरण में, प्रारंभ_समय और समाप्ति_समय कॉलम पहले से ही दिनांक समय के रूप में स्वरूपित हैं।

यदि आपके समय कॉलम वर्तमान में स्ट्रिंग के रूप में स्वरूपित हैं, तो आप समय के बीच अंतर की गणना करने से पहले प्रत्येक कॉलम को डेटाटाइम प्रारूप में परिवर्तित करने के लिए pd.to_datetime का उपयोग कर सकते हैं:

 #convert columns to datetime format
df[[' start_time ', ' end_time ']] = df[[' start_time ', ' end_time ]]. apply (pd. to_datetime )

फिर आप स्तंभों के बीच समय के अंतर की गणना करने के लिए आगे बढ़ सकते हैं क्योंकि वे दोनों अब डेटाटाइम प्रारूप में हैं जिसे पांडा पहचान सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य ऑपरेशन कैसे करें:

पंडों में दिनांक सीमा कैसे बनाएं
पंडों में तारीख से महीना कैसे निकालें
पंडों में टाइमस्टैम्प को दिनांक/समय में कैसे परिवर्तित करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *