2012-12-07 9 views
18

युक्त नाम अगर मैं आयात या एक पांडा स्तंभ है कि कोई रिक्ति नहीं है बनाने के लिए, मैं इस तरह के रूप में यह उपयोग कर सकते हैं:पांडा स्तंभ का उपयोग w/स्तंभ रिक्त स्थान

df1 = DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'], 
       'data1': range(7)}) 

df1.data1 

जो मेरे लिए है कि श्रृंखला में वापसी करेंगे।

df2 = DataFrame({'key': ['a','b','d'], 
       'data 2': range(3)}) 

df2.data 2  # <--- not the droid i'm looking for. 

मैं मैं .xs का उपयोग कर इसे उपयोग कर सकते हैं पता है():

df2.xs('data 2', axis=1) 

वहाँ है अगर, हालांकि, उस स्तंभ अपने नाम में एक स्थान है, यह उस विधि के माध्यम से सुलभ नहीं है मिला एक और तरीका है। मैंने इसे पागल की तरह गुगल किया है और इसे Google के किसी भी अन्य तरीके से नहीं सोच सकता। मैंने SO पर सभी 96 प्रविष्टियां पढ़ी हैं जिनमें "कॉलम" और "स्ट्रिंग" और "पांडा" शामिल हैं और कोई पिछला उत्तर नहीं मिला। क्या यह एकमात्र तरीका है, या क्या कुछ बेहतर है?

धन्यवाद!

उत्तर

16

मुझे लगता है कि डिफ़ॉल्ट तरीके से उपयोग करने के लिए है:

df1 = pandas.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'], 
      'dat a1': range(7)}) 

df1['dat a1'] 

अन्य तरीकों, एक विशेषता के रूप में यह उजागर की तरह सुविधा के लिए अधिक कर रहे हैं।

+0

धन्यवाद है कि एक shouldn ': एक विचार (जो विनाशकारी है, लेकिन आप इसे त्वरित और गंदी चाहते हैं, तो काम करता है) का उपयोग कर अंडरस्कोर कॉलम नाम बदलने के लिए है टी ने मुझे ऐसा नहीं किया है जैसा मैंने किया था। –

+0

टिप्पणी के लिए धन्यवाद। मैं आमतौर पर अपने कॉलम (df.col_name) तक पहुंचने के लिए डॉट का उपयोग करता हूं लेकिन डीएफ [स्पेस के साथ कॉलम नाम]] का उपयोग करके अंतरिक्ष के कॉलम नामों तक पहुंचने के लिए बस इस चाल को जानता हूं। Thx। – theteddyboy

19

पुरानी पोस्ट है, लेकिन दिलचस्प हो सकता है:,

df1.columns = [c.replace(' ', '_') for c in df1.columns] 
+0

यदि आप कॉलम को लोअरकेस में भी मानकीकृत करना चाहते हैं , df1.columns = [c.lower() का उपयोग करें। df1.columns में c के लिए ('', '_') बदलें '' – JAV

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^