Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengelakkan Nilai NaN Apabila Menambahkan hasil kumpulan panda mengikut().sum() pada Lajur Baharu?

Bagaimana untuk Mengelakkan Nilai NaN Apabila Menambahkan hasil kumpulan panda mengikut().sum() pada Lajur Baharu?

Mary-Kate Olsen
Lepaskan: 2024-12-15 11:53:11
asal
898 orang telah melayarinya

How to Avoid NaN Values When Adding pandas groupby().sum() Results to a New Column?

Cara Mengisi Lajur Baharu dengan Output panda groupby().sum()

Apabila bekerja dengan data, ia boleh berguna untuk mencipta lajur baharu dalam DataFrame berdasarkan hasil pengiraan tertentu. Satu pengiraan sedemikian adalah menggunakan fungsi groupby() dan sum() dalam panda untuk mencari jumlah nilai bagi kumpulan tertentu dalam lajur. Walau bagaimanapun, apabila cuba mencipta lajur baharu dengan jumlah ini, ada kemungkinan untuk menemui nilai NaN.

Pertimbangkan kod berikut:

df = pd.DataFrame({
    'Date' : ['2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05', '2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05'], 
    'Sym'  : ['aapl', 'aapl', 'aapl', 'aapl', 'aaww', 'aaww', 'aaww', 'aaww'], 
    'Data2': [11, 8, 10, 15, 110, 60, 100, 40],
    'Data3': [5, 8, 6, 1, 50, 100, 60, 120]
})

group = df['Data3'].groupby(df['Date']).sum()

df['Data4'] = group
Salin selepas log masuk

Apabila menjalankan kod ini, anda mungkin menjangkakan untuk melihat nilai yang dikira yang betul untuk setiap tarikh (seperti yang ditunjukkan dalam pembolehubah kumpulan), tetapi sebaliknya, anda mendapat nilai NaN dalam lajur Data4 yang baru dibuat.

Untuk menyelesaikan isu ini, anda perlu menggunakan fungsi transformasi. Fungsi ini mengembalikan Siri dengan indeks yang diselaraskan dengan DataFrame, membolehkan anda menambahkannya sebagai lajur baharu. Berikut ialah kod yang diperbetulkan:

df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
Salin selepas log masuk

Dengan pengubahsuaian ini, anda akan berjaya mencipta lajur Data4 baharu dengan nilai jumlah yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Nilai NaN Apabila Menambahkan hasil kumpulan panda mengikut().sum() pada Lajur Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan