जब एक पांडा DataFrame से एक एकल स्तंभ का चयन (माना df.iloc[:, 0]
, df['A']
, या df.A
, आदि), जिसके परिणामस्वरूप वेक्टर स्वचालित रूप से एक एकल-स्तंभ के बजाय एक श्रृंखला में बदल जाती है डेटा ढांचा। हालांकि, मैं कुछ फ़ंक्शन लिख रहा हूं जो डेटाफ्रेम को इनपुट तर्क के रूप में लेते हैं। इसलिए, मैं श्रृंखला के बजाय सिंगल-कॉलम डेटाफ्रेम से निपटना पसंद करता हूं ताकि फ़ंक्शन यह कह सके कि df.columns पहुंच योग्य है। अभी मुझे pd.DataFrame(df.iloc[:, 0])
जैसे कुछ का उपयोग कर श्रृंखला को डेटाफ्रेम में स्पष्ट रूप से रूपांतरित करना होगा। यह सबसे साफ विधि की तरह प्रतीत नहीं होता है। क्या डेटाफ्रेम से सीधे इंडेक्स करने का एक और शानदार तरीका है ताकि परिणाम श्रृंखला के बजाय एकल-कॉलम डेटाफ्रेम हो?अजगर पांडा: DataFrame बजाय सीरीज
उत्तर
@Jeff का उल्लेख है वहाँ के रूप में यह करने के लिए कुछ तरीके हैं, लेकिन मैं का उपयोग करना चाहिये loc/iloc अधिक स्पष्ट हो (और अपने अस्पष्ट कुछ की कोशिश कर रहा है, तो जल्दी त्रुटियों को बढ़ाने के) के लिए:
In [10]: df = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'])
In [11]: df
Out[11]:
A B
0 1 2
1 3 4
In [12]: df[['A']]
In [13]: df[[0]]
In [14]: df.loc[:, ['A']]
In [15]: df.iloc[:, [0]]
Out[12-15]: # they all return the same thing:
A
0 1
1 3
बाद के दो विकल्प पूर्णांक कॉलम नामों के मामले में अस्पष्टता को हटाते हैं (ठीक है क्यों loc/iloc बनाया गया था)। उदाहरण के लिए:
In [16]: df = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 0])
In [17]: df
Out[17]:
A 0
0 1 2
1 3 4
In [18]: df[[0]] # ambiguous
Out[18]:
A
0 1
1 3
आपको परेशान करने के लिए खेद है, लेकिन इसके आसपास वास्तव में एक त्वरित सवाल है। मैं देखता हूं कि अतिरिक्त '[]' परिणाम 'सीरीज' के बजाय 'डेटाफ्रेम' कैसे बनाता है, लेकिन पांडा दस्तावेज़ों में इस तरह के इंडेक्सिंग सिंटैक्स पर चर्चा की जाती है? मैं सिर्फ इंडेक्सिंग की इस तकनीक के लिए "आधिकारिक" नाम प्राप्त करने की कोशिश कर रहा हूं ताकि मैं वास्तव में इसे समझ सकूं। धन्यवाद! –
@sparc_spread http://pandas.pydata.org/pandas-docs/stable/indexing.html#basics "आप उस क्रम में कॉलम चुनने के लिए कॉलम की एक सूची [] में पास कर सकते हैं।" मुझे यकीन है कि अगर इसका नाम है! –
हाँ ऐसा लगता है कि इसमें कोई नहीं है - लेकिन मैं इसे अब से उपयोग करूँगा। आश्चर्यजनक है कि एपीआई और दस्तावेज़ दोनों में कितनी चीजें दफन की जाती हैं। धन्यवाद! –
- 1. पांडा: सीरीज
- 2. अजगर, एक पांडा dataframe
- 3. अजगर पांडा DataFrame
- 4. अजगर पांडा DataFrame subplot
- 5. एक पांडा डाटा सीरीज
- 6. बूलियन सीरीज कुंजी DataFrame सूचकांक
- 7. पांडा DataFrame
- 8. पांडा DataFrame
- 9. पांडा: DataFrame
- 10. Py पांडा .format (dataframe)
- 11. ReshapeError पांडा dataframe
- 12. पांडा में टाइम-सीरीज बॉक्सप्लॉट
- 13. एक पांडा Dataframe
- 14. Concating पांडा dataframe
- 15. कैसे स्तंभ पांडा Dataframe
- 16. एक पांडा dataframe
- 17. को पार (अवरोधन) एक सीरीज या DataFrame
- 18. अजगर dataframe
- 19. समझौता पांडा dataframe अनुक्रमण
- 20. कुकुदता पांडा Dataframe पर
- 21. न्यू एक पांडा DataFrame
- 22. पांडा DataFrame concat संलग्न
- 23. पांडा DataFrame: सभी स्तंभों
- 24. समूहीकरण पांडा DataFrame तारीख
- 25. पांडा DataFrame शब्दकोश
- 26. Convert पांडा Dataframe सूची
- 27. पांडा: एक DataFrame
- 28. निर्माण पांडा DataFrame
- 29. पांडा dataframe - स्तंभ शीर्षक
- 30. लेन() पांडा dataframe
df.iloc [:, [0]] या डीएफ [['ए']]; डीएफ.ए केवल एक श्रृंखला वापस देगी हालांकि – Jeff