Python Pandas - Statistik Deskriptif

Sejumlah besar metode secara kolektif menghitung statistik deskriptif dan operasi terkait lainnya di DataFrame. Sebagian besar seperti agregasisum(), mean(), tetapi beberapa di antaranya, seperti sumsum(), menghasilkan objek dengan ukuran yang sama. Secara umum, metode ini membutuhkanaxisargumen, seperti ndarray. {sum, std, ...}, tetapi sumbu dapat ditentukan dengan nama atau integer

  • DataFrame - "indeks" (sumbu = 0, default), "kolom" (sumbu = 1)

Mari kita membuat DataFrame dan menggunakan objek ini di sepanjang bab ini untuk semua operasi.

Contoh

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df

Nya output adalah sebagai berikut -

Age  Name   Rating
0   25   Tom     4.23
1   26   James   3.24
2   25   Ricky   3.98
3   23   Vin     2.56
4   30   Steve   3.20
5   29   Smith   4.60
6   23   Jack    3.80
7   34   Lee     3.78
8   40   David   2.98
9   30   Gasper  4.80
10  51   Betina  4.10
11  46   Andres  3.65

jumlah()

Mengembalikan jumlah nilai untuk sumbu yang diminta. Secara default, sumbu adalah indeks (sumbu = 0).

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.sum()

Nya output adalah sebagai berikut -

Age                                                    382
Name     TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating                                               44.92
dtype: object

Setiap kolom individu ditambahkan satu per satu (String ditambahkan).

sumbu = 1

Sintaks ini akan memberikan keluaran seperti gambar di bawah ini.

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}
 
#Create a DataFrame
df = pd.DataFrame(d)
print df.sum(1)

Nya output adalah sebagai berikut -

0    29.23
1    29.24
2    28.98
3    25.56
4    33.20
5    33.60
6    26.80
7    37.78
8    42.98
9    34.80
10   55.10
11   49.65
dtype: float64

berarti()

Mengembalikan nilai rata-rata

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.mean()

Nya output adalah sebagai berikut -

Age       31.833333
Rating     3.743333
dtype: float64

std ()

Mengembalikan simpangan baku Bressel dari kolom numerik.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.std()

Nya output adalah sebagai berikut -

Age       9.232682
Rating    0.661628
dtype: float64

Fungsi & Deskripsi

Mari kita sekarang memahami fungsi di bawah Statistik Deskriptif di Python Pandas. Tabel berikut mencantumkan fungsi penting -

Sr.No. Fungsi Deskripsi
1 menghitung() Jumlah observasi bukan nol
2 jumlah() Jumlah nilai
3 berarti() Mean of Values
4 median () Median Nilai
5 mode() Modus nilai
6 std () Deviasi Standar dari Nilai
7 min () Nilai Minimum
8 maks () Nilai maksimum
9 abs () Nilai mutlak
10 melecut() Produk Nilai
11 cumsum () Jumlah Kumulatif
12 cumprod () Produk Kumulatif

Note- Karena DataFrame adalah struktur data yang heterogen. Operasi generik tidak bekerja dengan semua fungsi.

  • Fungsi seperti sum(), cumsum()bekerja dengan elemen data string dan karakter (atau) tanpa kesalahan apa pun. Meskipunn Praktiknya, agregasi karakter tidak pernah digunakan secara umum, fungsi ini tidak memberikan pengecualian apa pun.

  • Fungsi seperti abs(), cumprod() membuang pengecualian ketika DataFrame berisi data karakter atau string karena operasi semacam itu tidak dapat dilakukan.

Meringkas Data

Itu describe() fungsi menghitung ringkasan statistik yang berkaitan dengan kolom DataFrame.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe()

Nya output adalah sebagai berikut -

Age         Rating
count    12.000000      12.000000
mean     31.833333       3.743333
std       9.232682       0.661628
min      23.000000       2.560000
25%      25.000000       3.230000
50%      29.500000       3.790000
75%      35.500000       4.132500
max      51.000000       4.800000

Fungsi ini memberikan mean, std dan IQRnilai-nilai. Dan, fungsi mengecualikan kolom karakter dan ringkasan yang diberikan tentang kolom numerik.'include'adalah argumen yang digunakan untuk menyampaikan informasi yang diperlukan mengenai kolom apa yang perlu dipertimbangkan untuk meringkas. Mengambil daftar nilai; secara default, 'angka'.

  • object - Meringkas kolom String
  • number - Meringkas kolom Numerik
  • all - Meringkas semua kolom bersama-sama (Tidak boleh melewatkannya sebagai nilai daftar)

Sekarang, gunakan pernyataan berikut dalam program dan periksa hasilnya -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe(include=['object'])

Nya output adalah sebagai berikut -

Name
count       12
unique      12
top      Ricky
freq         1

Sekarang, gunakan pernyataan berikut dan periksa hasilnya -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df. describe(include='all')

Nya output adalah sebagai berikut -

Age          Name       Rating
count   12.000000        12    12.000000
unique        NaN        12          NaN
top           NaN     Ricky          NaN
freq          NaN         1          NaN
mean    31.833333       NaN     3.743333
std      9.232682       NaN     0.661628
min     23.000000       NaN     2.560000
25%     25.000000       NaN     3.230000
50%     29.500000       NaN     3.790000
75%     35.500000       NaN     4.132500
max     51.000000       NaN     4.800000