मुझे निम्नलिखित पंडों का डेटाफ़्रेम मिला है:

date         hour  
20140101     0 
20140101     1 
20140101     2  
20140101     3   
20140101     4
...          ...

मैं इन दोनों को डेटाटाइम कॉलम में जोड़ना चाहता हूं। मैंने निम्नलिखित की कोशिश की है, लेकिन मुझे एक त्रुटि मिलती है क्योंकि मैं विंडोज का उपयोग कर रहा हूं, मुझे लगता है:

wdf['date'] = wdf['date'].astype(str) + ' ' + wdf['hour'].astype(str)
wdf['date'] = pd.to_datetime(wdf['date'], format='%Y%m%d %-H')

ValueError: '-' '%Y%m%d %-H' प्रारूप में एक खराब निर्देश है

मैंने %#H की कोशिश की है, लेकिन इसके परिणामस्वरूप एक समान त्रुटि हुई। मुझे डैश या पाउंड चिह्न का उपयोग करना है, क्योंकि घंटा अंकन एक दशमलव है।

1
Zarif 22 जुलाई 2019, 15:25

1 उत्तर

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

मैं zfill जहां आवश्यक हो 0 के साथ पैड करने के लिए, और नियमित %H का उपयोग करें।

ये कोशिश करें:

wdf['date'] = wdf['date'].astype(str) + ' ' + wdf['hour'].astype(str).str.zfill(2)
wdf['date'] = pd.to_datetime(wdf['date'], format='%Y%m%d %H')

आउटपुट:

                 date  hour
0 2014-01-01 00:00:00     0
1 2014-01-01 01:00:00     1
2 2014-01-01 02:00:00     2
3 2014-01-01 03:00:00     3
4 2014-01-01 04:00:00     4
1
Adam.Er8 22 जुलाई 2019, 15:28