2013-08-02 8 views
119

मैं पाइथन पांडा में इंडेक्स कॉलम नाम कैसे प्राप्त करूं? यहां एक उदाहरण डेटाफ्रेम है:पांडा इंडेक्स कॉलम शीर्षक या नाम

   Column 1 
Index Title   
Apples    1 
Oranges    2 
Puppies    3 
Ducks    4 

मैं जो करने का प्रयास कर रहा हूं वह डेटाफ्रेम अनुक्रमणिका शीर्षक प्राप्त/सेट कर रहा है। यहां मैंने कोशिश की है:

import pandas as pd 
data = {'Column 1'  : [1., 2., 3., 4.], 
     'Index Title' : ["Apples", "Oranges", "Puppies", "Ducks"]} 
df = pd.DataFrame(data) 
df.index = df["Index Title"] 
del df["Index Title"] 
print df 

कोई भी यह कैसे जानता है?

उत्तर

155

तुम बस मिल/अपने name संपत्ति

In [7]: df.index.name 
Out[7]: 'Index Title' 

In [8]: df.index.name = 'foo' 

In [9]: df.index.name 
Out[9]: 'foo' 

In [10]: df 
Out[10]: 
     Column 1 
foo    
Apples   1 
Oranges   2 
Puppies   3 
Ducks   4 
+6

अब तक (0.16) यह काम नहीं करता है। या बल्कि - यह काम करता है, लेकिन जैसे ही डेटाफ्रेम संशोधित हो जाता है, यह सूचकांक नाम मिटा देता है। –

+4

डेटाफ्रेम निर्माण समय पर इंडेक्स नाम निर्दिष्ट करना संभव होना चाहिए। जैसे 'Pd.DataFrame (मूल्यों, सूचकांक = {" INDEX_NAME ": index_values})'। मुझे समझ में नहीं आता क्यों इसकी अनुमति नहीं है या लागू किया गया है? – denfromufa

+0

आप नाम – Jeff

23

df.index.name के माध्यम से सूचकांक सेट चाल करना चाहिए कर सकते हैं।

पायथन के पास dir फ़ंक्शन है जो आपको ऑब्जेक्ट विशेषताओं से पूछताछ करता है। dir(df.index) यहां सहायक था।

+0

उस 'डीआईआर()' शीर्ष टिप – SARose

10

आप एक नई पंक्ति बनाने के लिए, लेकिन बस तो खाली कक्ष में रख नहीं करना चाहते हैं का उपयोग करें:

df.columns.name = 'foo' 

अन्यथा का उपयोग करें:

df.index.name = 'foo' 
+1

के लिए थंबिंग अप बस यह कॉलम के नामों का नाम है। कोई आश्चर्य नहीं कि df.index.name सेटिंग आपको एक नया स्तर देता है। धन्यवाद! – Charles

29

संस्करण 0.18.0 से आप rename_axis का उपयोग कर सकते हैं:

print df 
      Column 1 
Index Title   
Apples   1.0 
Oranges   2.0 
Puppies   3.0 
Ducks    4.0 

नई कार्यक्षमता विधि श्रृंखलाओं में अच्छी तरह से काम करती है।

print df.rename_axis('foo') 
     Column 1 
foo    
Apples  1.0 
Oranges  2.0 
Puppies  3.0 
Ducks   4.0 

आप पैरामीटर axis साथ स्तंभ नाम नाम बदल सकते हैं:

print df 
Col Name  Column 1 
Index Title   
Apples   1.0 
Oranges   2.0 
Puppies   3.0 
Ducks    4.0 
print df.rename_axis('foo').rename_axis("bar", axis="columns") 
bar  Column 1 
foo    
Apples  1.0 
Oranges  2.0 
Puppies  3.0 
Ducks   4.0 

print df.rename_axis('foo').rename_axis("bar", axis=1) 
bar  Column 1 
foo    
Apples  1.0 
Oranges  2.0 
Puppies  3.0 
Ducks   4.0 
2

उपयोग df.index.rename('foo', inplace=True) सूचकांक नाम सेट करने।

लगता है कि यह एपीआई pandas 0.13 के बाद उपलब्ध है।

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