2013-11-01 13 views
31

मैं अपने पांडा डेटा फ्रेम लोअर केसअजगर: बनाने पांडा dataframe कॉलम हेडर सभी लोअरकेस

में सभी कॉलम हेडर बनाना चाहते उदाहरण के लिए, अगर मेरे पास है:

data = 

    country country isocode year  XRAT   tcgdp 
0 Canada    CAN 2001 1.54876 924909.44207 
1 Canada    CAN 2002 1.56932 957299.91586 
2 Canada    CAN 2003 1.40105 1016902.00180 
.... 

मैं XRAT परिवर्तन करना चाहते हैं की तरह कुछ कर रही द्वारा xrat रहे हैं:

data.headers.lowercase() 

तो यह है कि मैं मिलता है:

country country isocode year  xrat   tcgdp 
0 Canada    CAN 2001 1.54876 924909.44207 
1 Canada    CAN 2002 1.56932 957299.91586 
2 Canada    CAN 2003 1.40105 1016902.00180 
3 Canada    CAN 2004 1.30102 1096000.35500 
.... 

मुझे समय से पहले प्रत्येक कॉलम हेडर के नाम नहीं पता होंगे।

धन्यवाद!

उत्तर

60

आप इस तरह यह कर सकते हैं:

data.columns = map(str.lower, data.columns) 

या

data.columns = [x.lower() for x in data.columns] 

उदाहरण:

>>> data = pd.DataFrame({'A':range(3), 'B':range(3,0,-1), 'C':list('abc')}) 
>>> data 
    A B C 
0 0 3 a 
1 1 2 b 
2 2 1 c 
>>> data.columns = map(str.lower, data.columns) 
>>> data 
    a b c 
0 0 3 a 
1 1 2 b 
2 2 1 c 
+3

ध्यान दें कि इससे कम (कॉलम 1) == निचला (कॉलम 2) (उदा।, 'ए' और 'ए') डुप्लिकेट कॉलम नाम हो सकता है। कॉलम को बाद में संदर्भित करते समय इसमें अनपेक्षित परिणाम हो सकते हैं। (उदाहरण के लिए डेटा ['ए'] 'ए' नामक सभी कॉलम के साथ एक श्रृंखला नहीं, एक डेटाफ्रेम लौटाएगा)। उदाहरण के लिए इस गिस्ट को देखें: https://gist.github.com/grisaitis/170e82a008480acb4fa3 – grisaitis

+0

'x.clower() data.columns में x के लिए]' 0 के बराबर है: 'x के लिए x.lower() डेटा में] ' – joctee

9

आप एक श्रृंखलित विधि कॉल का उपयोग कर नाम बदलने क्या करना चाहते हैं, तो आप कर सकते हैं

data.rename(
    columns=unicode.lower 
) 
का उपयोग करें

(अजगर 2)

या

data.rename(
    columns=str.lower 
) 

(अजगर 3)

27

आप columns के लिए str.lower के साथ आसानी से यह कर सकता है:

df.columns = df.columns.str.lower() 

उदाहरण:

In [63]: df 
Out[63]: 
    country country isocode year  XRAT   tcgdp 
0 Canada    CAN 2001 1.54876 9.249094e+05 
1 Canada    CAN 2002 1.56932 9.572999e+05 
2 Canada    CAN 2003 1.40105 1.016902e+06 

In [64]: df.columns = df.columns.str.lower() 

In [65]: df 
Out[65]: 
    country country isocode year  xrat   tcgdp 
0 Canada    CAN 2001 1.54876 9.249094e+05 
1 Canada    CAN 2002 1.56932 9.572999e+05 
2 Canada    CAN 2003 1.40105 1.016902e+06 
संबंधित मुद्दे