Target
Saya memiliki bingkai data Pandas, seperti yang ditunjukkan di bawah ini, dengan beberapa kolom dan ingin mendapatkan total kolom , MyColumn
.
Bingkai Data -df
:
print df
X MyColumn Y Z
0 A 84 13.0 69.0
1 B 76 77.0 127.0
2 C 28 69.0 16.0
3 D 28 28.0 31.0
4 E 19 20.0 85.0
5 F 84 193.0 70.0
Upaya saya :
Saya telah mencoba mendapatkan jumlah kolom menggunakan groupby
dan .sum()
:
Total = df.groupby['MyColumn'].sum()
print Total
Ini menyebabkan kesalahan berikut:
TypeError: 'instancemethod' object has no attribute '__getitem__'
Output yang Diharapkan
Saya mengharapkan hasilnya sebagai berikut:
319
Atau sebagai alternatif, saya ingin df
diedit dengan row
judul baru yang TOTAL
berisi total:
X MyColumn Y Z
0 A 84 13.0 69.0
1 B 76 77.0 127.0
2 C 28 69.0 16.0
3 D 28 28.0 31.0
4 E 19 20.0 85.0
5 F 84 193.0 70.0
TOTAL 319
Jawaban:
Anda harus menggunakan
sum
:Kemudian Anda gunakan
loc
denganSeries
, dalam hal ini indeks harus disetel sama dengan kolom spesifik yang perlu Anda jumlahkan:karena jika Anda melewatkan skalar, nilai semua baris akan terisi:
Dua solusi lainnya adalah dengan
at
, danix
lihat aplikasi di bawah ini:Catatan: Sejak Pandas v0.20,
ix
sudah tidak digunakan lagi. Gunakanloc
atauiloc
sebagai gantinya.sumber
.loc
di contoh di atas?loc
adalah untuk pengaturan dengan pembesaran .at
berfungsi untuk pengaturan dengan pembesaran juga, lihat edit terakhir.The .loc/.ix/[] operations can perform enlargement when setting a non-existant key for that axis.
, begituloc
atauix
atau[]
. di bagian selanjutnya adalah menulisat may enlarge the object in-place as above if the indexer is missing.
Jadi semua metode yang baik, tetapiat
saya pikir tercepat.Opsi lain yang dapat Anda gunakan di sini:
Anda juga bisa menggunakan
append()
metode:Memperbarui:
Jika Anda perlu menambahkan jumlah untuk semua kolom numerik , Anda dapat melakukan salah satu hal berikut:
Gunakan
append
untuk melakukan ini secara fungsional (tidak mengubah bingkai data asli):Gunakan
loc
untuk mengubah bingkai data di tempat:sumber
Mirip dengan mendapatkan panjang kerangka data,
len(df)
berikut ini bekerja untuk panda dan api:atau sebagai alternatif
sumber
Jika ada masalah dalam hal ini tolong perbaiki saya ..
sumber
Sebagai opsi lain, Anda dapat melakukan sesuatu seperti di bawah ini
Script di bawah ini, Anda dapat menggunakan data di atas
sumber