Bagaimana kita mendapatkan tertentu disaring turut sebagai seri?
Contoh dataframe:
>>> df = pd.DataFrame({'date': [20130101, 20130101, 20130102], 'location': ['a', 'a', 'c']})
>>> df
date location
0 20130101 a
1 20130101 a
2 20130102 c
Aku harus pilih baris yang mana lokasi
c
sebagai rangkaian.
Saya mencoba:
row = df[df["location"] == "c"].head(1) # gives a dataframe
row = df.ix[df["location"] == "c"] # also gives a dataframe with single row
Dalam kedua kasus, saya bisa't baris seperti seri.
Gunakan memeras
fungsi yang akan menghapus satu dimensi dari dataframe:
df[df["location"] == "c"].squeeze()
Out[5]:
date 20130102
location c
Name: 2, dtype: object
DataFrame.memeras
metode bertindak dengan cara yang sama dari memeras
argumen read_csv
fungsi ketika diatur ke True
: jika yang dihasilkan dataframe adalah 1-len dataframe, yaitu hanya memiliki satu dimensi (kolom atau baris), maka objek yang diperas ke dimensi yang lebih kecil objek.
Dalam kasus anda, anda mendapatkan Serangkaian objek dari DataFrame. Logika yang sama berlaku jika anda menekan Panel ke DataFrame.
memeras eksplisit dalam kode anda dan menunjukkan dengan jelas niat anda untuk "dilemparkan ke bawah" objek di tangan karena dimensi dapat diproyeksikan ke yang lebih kecil.
Jika dataframe memiliki lebih dari satu kolom atau baris, memeras tidak memiliki efek.