Saya perlu memilih nilai unik dari kolom pertama kerangka data dan menambahkannya sebagai kolom pertama ke kerangka data kedua (yang baru dibuat) -> lalu tambahkan kolom berikut yang terkait dengan masing-masing unik. Saya mendapat sesuatu seperti berikut
First Field Name Second Field Name
0 1 12
1 2 32
2 3 4
3 2 32
4 3 43
5 4 54
6 3 11
7 2 23
8 1 43
Saya membutuhkan yang berikut ini
uniques Sum min max mean std ave
1 55 12 ... ... ... ...
2 87 23
3 58 4
4 54 54
0
user7074788
3 Juni 2019, 11:45
2 jawaban
Jawaban Terbaik
Anda dapat GroupBy.agg
dengan daftar fungsi agregasi:
(df.groupby('First field')
.agg(['min','max','mean','std', ('ave', 'mean')])
.droplevel(0, axis=1))
min max mean std ave
FirstFieldName
1 12 43 27.500000 21.920310 27.500000
2 23 32 29.000000 5.196152 29.000000
3 4 43 19.333333 20.792627 19.333333
4 54 54 54.000000 NaN 54.000000
2
yatu
3 Juni 2019, 10:03
Anda harus menggunakan fungsi groupby dengan kamus tempat Anda menginformasikan operasi apa yang ingin Anda lakukan dengan bidang Kedua:
df= pd.DataFrame({'First field' : [1,2,3,2,3,4,3,2,1],
'Second Field':[12,32,4,32,43,54,11,23,43]})
df.groupby('First field').agg({'Second Field' : ['sum', 'min', 'max', 'std', 'mean']})
Keluar :
Second Field
sum min max mean std
First field
1 55 12 43 27.500000 21.920310
2 87 23 32 29.000000 5.196152
3 58 4 43 19.333333 20.792627
4 54 54 54 54.000000 NaN
1
marc_s
27 Oktober 2019, 21:48