Gấu trúc Python - Thống kê mô tả

Một số lượng lớn các phương pháp tính toán thống kê mô tả và các hoạt động liên quan khác trên DataFrame. Hầu hết đây là những tổng hợp nhưsum(), mean(), nhưng một số trong số họ, như sumsum(), sản xuất một đối tượng có cùng kích thước. Nói chung, những phương pháp này cóaxisđối số, giống như ndarray. {sum, std, ...}, nhưng trục có thể được chỉ định bằng tên hoặc số nguyên

  • DataFrame - “chỉ mục” (trục = 0, mặc định), “cột” (trục = 1)

Chúng ta hãy tạo một DataFrame và sử dụng đối tượng này trong suốt chương này cho tất cả các hoạt động.

Thí dụ

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

Nó là output như sau -

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

Tổng()

Trả về tổng các giá trị cho trục được yêu cầu. Theo mặc định, trục là chỉ số (trục = 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()

Nó là output như sau -

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

Mỗi cột riêng lẻ được thêm vào riêng lẻ (Các chuỗi được nối thêm).

trục = 1

Cú pháp này sẽ cho kết quả như hình dưới đây.

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)

Nó là output như sau -

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

nghĩa là()

Trả về giá trị trung bình

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()

Nó là output như sau -

Age       31.833333
Rating     3.743333
dtype: float64

std ()

Trả về độ lệch chuẩn Bressel của các cột số.

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()

Nó là output như sau -

Age       9.232682
Rating    0.661628
dtype: float64

Chức năng & Mô tả

Bây giờ chúng ta hãy hiểu các chức năng trong Thống kê mô tả trong Python Pandas. Bảng sau liệt kê các chức năng quan trọng:

Sr.No. Chức năng Sự miêu tả
1 đếm() Số lượng quan sát không rỗng
2 Tổng() Tổng các giá trị
3 nghĩa là() Giá trị trung bình
4 Trung bình() Giá trị trung bình
5 chế độ() Phương thức giá trị
6 std () Độ lệch chuẩn của các giá trị
7 min () Giá trị tối thiểu
số 8 max () Gia trị lơn nhât
9 abs () Giá trị tuyệt đối
10 prod () Sản phẩm của Giá trị
11 cumsum () Tổng tích lũy
12 cumprod () Sản phẩm tích lũy

Note- Vì DataFrame là một cấu trúc dữ liệu Không đồng nhất. Các hoạt động chung không hoạt động với tất cả các chức năng.

  • Các chức năng như sum(), cumsum()làm việc với cả phần tử dữ liệu chuỗi ký tự và số (hoặc) mà không gặp bất kỳ lỗi nào. Tuy nhiênn thực hành, các tổng hợp ký tự không bao giờ được sử dụng chung, các hàm này không ném ra bất kỳ ngoại lệ nào.

  • Các chức năng như abs(), cumprod() ném ngoại lệ khi DataFrame chứa dữ liệu ký tự hoặc chuỗi vì không thể thực hiện các thao tác như vậy.

Tổng hợp dữ liệu

Các describe() hàm tính toán một bản tóm tắt thống kê liên quan đến các cột 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()

Nó là output như sau -

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

Chức năng này cung cấp cho mean, stdIQRcác giá trị. Và, hàm loại trừ các cột ký tự và tóm tắt đã cho về các cột số.'include'là đối số được sử dụng để chuyển thông tin cần thiết về những cột nào cần được xem xét để tóm tắt. Lấy danh sách các giá trị; theo mặc định, 'số'.

  • object - Tóm tắt các cột Chuỗi
  • number - Tóm tắt các cột số
  • all - Tổng hợp tất cả các cột với nhau (Không nên chuyển nó dưới dạng giá trị danh sách)

Bây giờ, hãy sử dụng câu lệnh sau trong chương trình và kiểm tra kết quả:

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'])

Nó là output như sau -

Name
count       12
unique      12
top      Ricky
freq         1

Bây giờ, hãy sử dụng câu lệnh sau và kiểm tra kết quả:

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')

Nó là output như sau -

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