SORU
1 Temmuz 2012, Pazar


Sütun seçme

Farklı sütunlardaki veri var ama başka bir değişken kaydetmek ayıklamak için nasıl bilmiyorum.

index  a   b   c
1      2   3   4
2      3   4   5

Nasıl, c ve df1 için Kaydet b seçerim?

Denedim

df1 = df['a':'b']
df1 = df.ix[:, 'a':'b']

Hiçbiri çalışmıyor gibi görünüyor. Herhangi bir fikir teşekkürler yardımcı olacaktır.

CEVAP
2 Temmuz 2012, PAZARTESİ


Sütun adları dizeleri olan çalıştın şekilde dilimlenmiş edilemez.

Burada bir kaç seçenek var. Sen bilirsin içerikten hangi değişkenler istediğiniz dilim. sadece dönüş bir bakış sadece bu sütunlar geçerken bir liste haline __getitem__ sözdizimi ([] 'ler).

df1 = df[['a','b']]

Eğer onları sayısal olarak ve kendi ismi (kod otomatik olarak ilk iki sütun isimlerini bilmeden bunu yapmak gerektiğini söylüyorlar) tarafından dizin için önemliyse alternatif olarak, o zaman onun yerine bunu yapabilirsiniz:

df1 = df.ix[:,0:2] # Remember that Python does not slice inclusive of the ending index.

Ayrıca, Pandalar bir nesne içine bir görünüm vs o nesnenin bir kopyasını fikri öğrenmeniz gerekir. Yukarıdaki yöntemlerin ilk alt-nesne istediğiniz (istenilen dilim) anısına yeni bir kopyasını döndürür.

Bazen, ancak, dizin oluşturma kuralları içinde Pandalar bunu yapma bunu ve bunun yerine size yeni bir değişken sadece ifade eder aynı yığın bellek olarak alt nesne ya da bir dilim orijinal nesne. Bu dizin ikinci yol olacak copy() işlevi ile düzenli bir kopyasını almak için değiştirebilirsiniz. Bu durumda, dilimlenmiş nesne olduğunu düşündüğün şeyi değiştirmek bazen orijinal nesneyi değiştirebilir. Her zaman iyi Bu için dışarı bakmak olmak.

df1 = df.ix[0,0:2].copy() # To avoid the case where changing df1 also changes df

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ludique

    Ludique

    21 NİSAN 2009
  • Mark Hyder

    Mark Hyder

    6 EKİM 2011
  • MyTiredBones

    MyTiredBones

    2 Temmuz 2013