जवाबों:
>>> import pandas as pd
>>> df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]})
>>> df
x y
0 1 4
1 2 5
2 3 6
3 4 7
>>> s = df.ix[:,0]
>>> type(s)
<class 'pandas.core.series.Series'>
>>>
================================================== =========================
अपडेट करें
यदि आप जून 2017 के बाद इसे पढ़ रहे हैं ix
, तो इसे 0.20.2 पंडों में हटा दिया गया है, इसलिए इसका उपयोग न करें। उपयोग loc
या iloc
इसके बजाय। इस सवाल पर टिप्पणी और अन्य जवाब देखें।
.iloc
तब तक वापस नहीं आया था। 2016 में, सही उत्तर जेफ का है (आखिरकार वह pandas
भगवान है, आपके मन में; ;-))। मुझे यकीन नहीं है कि एपीआई परिवर्तन के कारण उत्तर के अद्यतन के बारे में एसओ की नीति क्या है; मैं ईमानदारी से इस जवाब के लिए वोटों की संख्या से आश्चर्यचकित हूं, नहीं लगता था कि यह लोगों के लिए उपयोगी था ...
आप निम्नलिखित कोड द्वारा श्रृंखला के रूप में पहला कॉलम प्राप्त कर सकते हैं:
x[x.columns[0]]
x[x.columns[x.columns.size-1]]
क्या यह सबसे सरल तरीका नहीं है?
स्तंभ नाम से:
In [20]: df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]})
In [21]: df
Out[21]:
x y
0 1 4
1 2 5
2 3 6
3 4 7
In [23]: df.x
Out[23]:
0 1
1 2
2 3
3 4
Name: x, dtype: int64
In [24]: type(df.x)
Out[24]:
pandas.core.series.Series
df.x
) सामान्य नहीं है - क्या होगा अगर कॉलम नाम में रिक्त स्थान हैं? क्या होगा यदि स्तंभ का DataFrame
नाम -s विशेषता नाम के साथ मेल खाता है ? स्तंभों का उपयोग करना अधिक सामान्य है __getitem__
(जैसे कि:) df["x"]
।
जब आप एक सीएसएसवी फ़ाइल से एक श्रृंखला लोड करना चाहते हैं तो यह बहुत अच्छा काम करता है
x = pd.read_csv('x.csv', index_col=False, names=['x'],header=None).iloc[:,0]
print(type(x))
print(x.head(10))
<class 'pandas.core.series.Series'>
0 110.96
1 119.40
2 135.89
3 152.32
4 192.91
5 177.20
6 181.16
7 177.30
8 200.13
9 235.41
Name: x, dtype: float64
df[df.columns[i]]
i
स्तंभ की स्थिति / संख्या कहाँ है ( 0 से शुरू )
तो, i = 0
पहले कॉलम के लिए है।
आप अंतिम कॉलम का भी उपयोग कर सकते हैं i = -1
df.set_index('x').y