Yanıtlar:
>>> 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'>
>>>
================================================== =========================
GÜNCELLEME
Haziran 2017'den sonra ixbunu okuyorsanız, 0.20.2 pandalarında kullanımdan kaldırılmıştır, bu yüzden kullanmayın. Kullanın locveya ilocbunun yerine. Bu sorunun yorumlarına ve diğer yanıtlarına bakın.
.iloco zamanlar henüz orada değildi. 2016'da doğru cevap Jeff'in (sonuçta o pandasTanrı'dır, sana bak ;-)). API değişikliğinden kaynaklanan yanıtların güncellenmesine ilişkin SO'nun politikasının ne olduğundan emin değilim; Dürüst olmak gerekirse bu cevap için oy sayısı şaşırdım, insanlar için yararlı olduğunu düşünmüyordu ...
ixedildi kaldırılmış sürümü 0.20 yılında.
İlk sütunu aşağıdaki kodu kullanarak Seri olarak alabilirsiniz:
x[x.columns[0]]
x[x.columns[x.columns.size-1]]
Bu en basit yol değil mi?
Sütun adına göre:
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) gibi sütunlara erişmek genel değildir - sütun adı boşluk içeriyorsa? Sütunun DataFrameadı -s öznitelik adıyla çakışıyorsa ne olur ? Kullanarak sütunlara erişmek daha geneldir __getitem__(örneğin:) df["x"].
Bir csv dosyasından bir seri yüklemek istediğinizde bu harika çalışıyor
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]]
burada i/ sütun sayısı pozisyonu (başlayarak, 0 ).
Yani, i = 0ilk sütun için.
Ayrıca son sütunu kullanarak i = -1
df.set_index('x').y