Pandas: cara menghitung simpangan baku untuk setiap baris


Anda dapat menggunakan sintaks dasar berikut untuk menghitung standar deviasi nilai untuk setiap baris pandas DataFrame:

 df. std (axis= 1 , numeric_only= True )

Argumen axis=1 memberitahu panda untuk melakukan penghitungan untuk setiap baris (bukan setiap kolom) dan numerik_only=True memberitahu panda untuk hanya mempertimbangkan kolom numerik saat melakukan penghitungan.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: hitung simpangan baku untuk setiap baris di Pandas

Misalkan kita memiliki pandas DataFrame berikut yang berisi informasi tentang poin yang dicetak oleh berbagai pemain bola basket selama empat pertandingan berbeda:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' game1 ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' game2 ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' game3 ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' game4 ': [9, 8, 8, 9, 14, 15, 10, 11]})
                   
#view DataFrame
print (df)

  player game1 game2 game3 game4
0 A 18 5 11 9
1 B 22 7 8 8
2 C 19 7 10 8
3 D 14 9 6 9
4 E 14 12 6 14
5 F 11 9 5 15
6 G 20 9 9 10
7:28 4 12 11

Kita dapat menggunakan sintaks berikut untuk menghitung deviasi standar poin yang dicetak oleh setiap pemain:

 #calculate standard deviation for each row
df. std (axis= 1 , numeric_only= True )

0 5.439056
1 7.182154
2 5.477226
3 3.316625
4 3.785939
5 4.163332
6 5.354126
7 10.144785
dtype:float64

Berikut cara menafsirkan hasilnya:

  • Standar deviasi poin yang dicetak pemain A adalah 5,439 .
  • Standar deviasi poin yang dicetak pemain B adalah 7,182 .
  • Standar deviasi poin yang dicetak pemain C adalah 5,477 .

Dan seterusnya.

Perhatikan bahwa fungsi std() menghitung deviasi standar sampel secara default.

Jika Anda ingin menghitung simpangan baku populasi, Anda harus menggunakan argumen ddof=0 :

 #calculate population standard deviation for each row
df. std (axis= 1 , ddof= 0 , numeric_only= True )

0 4.747351
1 5.881366
2 4.807037
3 3.384910
4 3.983518
5 3.915150
6 4.892772
7 8.091179
dtype:float64

Terkait: Populasi vs. Contoh Deviasi Standar: Kapan Menggunakan Masing-masing

Untuk menetapkan nilai deviasi standar pada kolom baru, Anda dapat menggunakan sintaks berikut:

 #add new column to display standard deviation for each row
df[' std_points '] = df. std (axis= 1 , numeric_only= True )

#view updated DataFrame
print (df)

  player game1 game2 game3 game4 points_std
0 A 18 5 11 9 5.439056
1 B 22 7 8 8 7.182154
2 C 19 7 10 8 5.477226
3 D 14 9 6 9 3.316625
4 E 14 12 6 14 3.785939
5 F 11 9 5 15 4.163332
6 G 20 9 9 10 5.354126
7:28 AM 4 12 11 10.144785

Standar deviasi nilai setiap baris pada kolom game1 , game2 , game3 dan game4 kini ditampilkan pada kolom points_std .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara mendapatkan baris pertama Pandas DataFrame
Cara menghapus baris pertama di Pandas DataFrame
Cara menyisipkan baris ke dalam Pandas DataFrame

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *