Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencipta Lajur Baharu dalam Pandas DataFrame Menggunakan Groupby().sum() dan .transform()?
Mencipta Lajur Baharu daripada Output Pandas Groupby().sum()
Apabila bekerja dengan data dalam Python, ia selalunya diperlukan untuk melaksanakan pengiraan dan mencipta lajur baharu dalam DataFrame berdasarkan nilai sedia ada. Dalam contoh ini, kami ingin mencipta lajur baharu (Data4) yang mengandungi jumlah Data3 untuk setiap Tarikh.
Menggunakan .transform()
Untuk mencapai ini, kita boleh menggunakan kaedah .transform() pada lajur Data3 terkumpul. .transform() menggunakan fungsi untuk setiap kumpulan dan mengembalikan Siri dengan indeks sejajar dengan DataFrame asal. Ini membolehkan kami menambah nilai yang dikira sebagai lajur baharu.
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
Dalam contoh DataFrame yang disediakan:
import pandas as pd 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] })
Menggunakan .transform(), kami mengira jumlah Data3 untuk setiap Tarikh dan tetapkan pada lajur baharu Data4:
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
DataFrame yang terhasil akan mempunyai Data4 yang diingini lajur:
Date Sym Data2 Data3 Data4 0 2015-05-08 aapl 11 5 55 1 2015-05-07 aapl 8 8 108 2 2015-05-06 aapl 10 6 66 3 2015-05-05 aapl 15 1 121 4 2015-05-08 aaww 110 50 55 5 2015-05-07 aaww 60 100 108 6 2015-05-06 aaww 100 60 66 7 2015-05-05 aaww 40 120 121
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Lajur Baharu dalam Pandas DataFrame Menggunakan Groupby().sum() dan .transform()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!