मेरे पास पांडस डेटा फ्रेम में दो कॉलम हैं जो तिथियां हैं।पांडा: दो दिनांक कॉलम घटाना और परिणाम एक पूर्णांक
मैं एक कॉलम को दूसरे से घटाना चाहता हूं और परिणाम को एक पूर्णांक के रूप में अंतर में अंतर होता है।
डेटा पर एक नज़र:
df_test['Difference'] = df_test['First_Date'].sub(df_test['Second Date'], axis=0)
df_test.head()
Out[22]:
First_Date Second Date Difference
0 2016-02-09 2015-11-19 82 days
1 2016-01-06 2015-11-30 37 days
2 NaT 2015-12-04 NaT
3 2016-01-06 2015-12-08 29 days
4 NaT 2015-12-09 NaT
हालांकि मैं परिणाम के एक अंकीय संस्करण प्राप्त करने में असमर्थ हूँ:
df_test.head(10)
Out[20]:
First_Date Second Date
0 2016-02-09 2015-11-19
1 2016-01-06 2015-11-30
2 NaT 2015-12-04
3 2016-01-06 2015-12-08
4 NaT 2015-12-09
5 2016-01-07 2015-12-11
6 NaT 2015-12-12
7 NaT 2015-12-14
8 2016-01-06 2015-12-14
9 NaT 2015-12-15
मैं अंतर के साथ सफलतापूर्वक एक नया स्तंभ बनाया है
df_test['Difference'] = df_test[['Difference']].apply(pd.to_numeric)
df_test.head()
Out[25]:
First_Date Second Date Difference
0 2016-02-09 2015-11-19 7.084800e+15
1 2016-01-06 2015-11-30 3.196800e+15
2 NaT 2015-12-04 NaN
3 2016-01-06 2015-12-08 2.505600e+15
4 NaT 2015-12-09 NaN
हां, यह एक संभावित समाधान है, लेकिन मुझे लगता है कि यह अनुशंसित दृष्टिकोण नहीं है, क्योंकि कॉलम 'डिफेंसेंस' का आउटपुट 'ऑब्जेक्ट' है और अगली प्रसंस्करण (जोड़ना, घटाना ...) असंभव है। – jezrael
@ जेसराइल, ऐसा करने के अन्य तरीके हैं, उदाहरण के लिए, आपका समाधान। हालांकि, कॉलिंग में int प्रकारों के साथ मिश्रित NaNs के साथ जोड़ने/घटाना कोई समस्या नहीं है। आवश्यकतानुसार उन्हें स्वचालित रूप से फ्लोट ऑपरेशंस में डाला जाएगा। – clocker
मैं इसका परीक्षण नहीं करता, टिप्पणी के लिए धन्यवाद। – jezrael