कैसे ठीक करें: आप ऑब्जेक्ट और int64 कॉलम को मर्ज करने का प्रयास कर रहे हैं


पांडा का उपयोग करते समय आपको एक त्रुटि का सामना करना पड़ सकता है:

 ValueError : You are trying to merge on int64 and object columns.
            If you wish to proceed you should use pd.concat

यह त्रुटि तब होती है जब आप दो पांडा डेटाफ़्रेम को मर्ज करने का प्रयास करते हैं लेकिन जिस कॉलम पर आप विलय कर रहे हैं वह एक डेटाफ़्रेम में एक ऑब्जेक्ट है और दूसरे डेटाफ़्रेम में एक पूर्णांक है।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस त्रुटि को कैसे ठीक किया जाए।

त्रुटि को पुन: उत्पन्न कैसे करें

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

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' year ': [2015, 2016, 2017, 2018, 2019, 2020, 2021],
                    ' sales ': [500, 534, 564, 671, 700, 840, 810]})

df2 = pd. DataFrame ({' year ': ['2015', '2016', '2017', '2018', '2019', '2020', '2021'],
                    ' refunds ': [31, 36, 40, 40, 43, 70, 62]})

#view DataFrames
print (df1)

   year sales
0 2015 500
1 2016 534
2 2017 564
3 2018 671
4 2019 700
5,2020 840
6 2021 810

print (df2)

   year refunds
0 2015 31
1 2016 36
2 2017 40
3 2018 40
4 2019 43
5 2020 70
6 2021 62

अब मान लीजिए कि हम दो डेटाफ़्रेम को मर्ज करने का प्रयास करते हैं:

 #attempt to merge two DataFrames
big_df = df1. merge (df2, on=' year ', how=' left ')

ValueError : You are trying to merge on int64 and object columns.
            If you wish to proceed you should use pd.concat

हमें एक वैल्यूएरर प्राप्त होता है क्योंकि पहले डेटाफ़्रेम में वर्ष चर एक पूर्णांक है लेकिन दूसरे डेटाफ़्रेम में वर्ष चर एक ऑब्जेक्ट है।

त्रुटि को कैसे ठीक करें

इस त्रुटि को ठीक करने का सबसे आसान तरीका दूसरे डेटाफ़्रेम के वर्ष चर को पूर्णांक में परिवर्तित करना और फिर मर्ज करना है।

निम्नलिखित सिंटैक्स दिखाता है कि यह कैसे करना है:

 #convert year variable in df2 to integer
df2[' year ']=df2[' year ']. astype (int)

#merge two DataFrames
big_df = df1. merge (df2, on=' year ', how=' left ')

#view merged DataFrame
big_df

	year sales refunds
0 2015 500 31
1 2016 534 36
2 2017 564 40
3 2018 671 40
4 2019 700 43
5 2020 840 70
6 2021 810 62

ध्यान दें कि हमें कोई वैल्यूएरर प्राप्त नहीं होता है और हम दो डेटाफ़्रेम को सफलतापूर्वक एक में मर्ज करने में कामयाब होते हैं।

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

निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:

कैसे ठीक करें: कॉलम ओवरलैप होते हैं लेकिन कोई प्रत्यय निर्दिष्ट नहीं किया जाता है
कैसे ठीक करें: ऑब्जेक्ट ‘numpy.ndarray’ में ‘append’ विशेषता नहीं है
कैसे ठीक करें: यदि आप सभी अदिश मानों का उपयोग करते हैं, तो आपको एक सूचकांक पारित करने की आवश्यकता है

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

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