पायथन पांडा में विरल डेटा के साथ काम करते समय, विशिष्ट कोशिकाओं में सूचियाँ सम्मिलित करना चुनौतीपूर्ण हो सकता है। df.ix[1,'B'] = abc जैसे सामान्य तरीकों का उपयोग करके ऐसे ऑपरेशन का प्रयास करने से अक्सर बेमेल कुंजी लंबाई के कारण त्रुटियां होती हैं।
के आसपास काम करने का प्रयास सूची को अतिरिक्त वर्गाकार कोष्ठकों (जैसे, df.ix[1,'B'] = [abc]) में संलग्न करने या स्ट्रिंग अभ्यावेदन (जैसे, df.ix[1,'B'] = ', '.join) का उपयोग करने से त्रुटि हुई (एबीसी)) असंतोषजनक हैं, क्योंकि वे अतिरिक्त तत्व पेश करते हैं या इच्छित डेटा संरचना को बदलते हैं।
एक अधिक प्रभावी तरीका इसके बजाय df.at का उपयोग करना है df.ix या df.loc. df.at विशेष रूप से एकल सेल को लक्षित करता है, जिससे उस अस्पष्टता को दूर किया जा सकता है जो उपरोक्त त्रुटियों को जन्म दे सकती है।
import pandas as pd
# Create a dataframe with mixed data types
df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})
# Insert a list into cell 1B
df.at[1, 'B'] = ['m', 'n']
print(df)
यह ऑपरेशन बिना किसी त्रुटि के सेल 1बी में ['m', 'n'] को सफलतापूर्वक सम्मिलित करता है।
यह नोट करना महत्वपूर्ण है जिस कॉलम में आप सूची सम्मिलित करना चाहते हैं उसका dtype 'ऑब्जेक्ट' पर सेट होना चाहिए। यदि कॉलम में एक अलग dtype है, जैसे 'int64', तो एक त्रुटि उत्पन्न होगी। इसे संबोधित करने के लिए, आप सम्मिलन का प्रयास करने से पहले कॉलम के dtype को परिवर्तित कर सकते हैं:
df = pd.DataFrame(data={'A': [1, 2, 3], 'B': [1,2,3]})
df['B'] = df['B'].astype('object')
# Now, list insertion will work as expected
df.at[1, 'B'] = [1, 2, 3]
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3