2013-03-12 48 views

cevap

79
>>> 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'> 
>>> 
+0

'y' sütununu bir dizin ve 'x' sütunu dizin olarak nasıl alabilirim? – LWZ

+4

'df.set_index ('x') .'' – herrfz

+3

.iloc alternatifi (Jeff'in bu sayfada daha ileride önerdiği gibi) eklemeye değmez, çünkü isimler için rakamları olan sütunların varlığı belirsiz değildir. –

59

Aşağıdaki kodu tarafından bir Serisi olarak ilk sütunu alabilirsiniz:

x[x.columns[0]] 
+0

nasıl ben böyle son sütunu alabilirsiniz: sütun adının By

? – Polly

+1

x [x.columns [-1]] – user48956

+0

Diğerleri de iyi çalışıyor, ancak bu daha sezgisel görünüyor. – pshep123

34
in 0.11 

In [7]: df.iloc[:,0] 
Out[7]: 
0 1 
1 2 
2 3 
3 4 
Name: x, dtype: int64 
+0

Bu, yeni sürümlerle ve ayrıca eski sürümleriyle en uyumlu sürümüdür. Dev ekibin resmi olarak bu yaklaşımı desteklediği için muhtemelen en verimli olanı. – gaborous

7

bu basit yolu değil midir?

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 
+5

Bu özel durumda, ilk sütunun adını biliyorsunuz ("x"), ama sorunun ne anlama geldiğini soruyordu: "İlk sütuna nasıl erişebilirim, bu adın REGARDLESS". Ayrıca, bu gibi sütunlara erişim ('df.x') genel değildir - sütun adı boşluk içeriyorsa ne olur? Sütunun adı 'DataFrame' -s öznitelik adıyla çakışırsa ne olur? '__getitem__' kullanarak sütunlara erişmek daha geneldir (yani, şöyle ki:' df ["x"] '). – ponadto

+0

Ayrıca, sütunun başlığı, ör. boşluklar. –

İlgili konular