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

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • FASHTAG

    FASHTAG

    5 EYLÜL 2012
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006