English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas 描述性统计操作实例
DataFrame用在大量的计算描述性信息统计和其他相关操作。其中大多数是聚合,例如sum(),mean(),但其中一些聚合(例如sumsum())会产生相同大小的对象。一般而言,这些方法采用轴参数,就像ndarray。{sum,std,...}一样,但是可以通过名称或整数指定轴 DataFrame − 索引 (axis=0, default), 列 (axis=1)
import pandas as pd import numpy as np # Create a series dictionary 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]) } # 创建一个DataFrame df = pd.DataFrame(d) print(df)
نتائج التنفيذ:
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
返回所请求轴的值之和。默认情况下,轴为索引(轴=0)
import pandas as pd import numpy as np #创建一个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())
نتائج التنفيذ:
Age 382 الاسم TomJamesRickyVinSteveSmithJackLeeDavidGasperBe... التقييم 44.92 dtype: object
يتم إضافة نص إلى كل عمود بمفرده
هذه الجملة ستنتج ما يلي.
import pandas as pd import numpy as np # Create a series dictionary 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))
نتائج التنفيذ:
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
يعود بالوسطية
import pandas as pd import numpy as np # Create a series dictionary 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())
نتائج التنفيذ:
العمر 31.833333 التقييم 3.743333 dtype: float64
يعود بتباين المعيارية للسلسلة العددية.
import pandas as pd import numpy as np # Create a series dictionary 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())
نتائج التنفيذ:
العمر 9.232682 التقييم 0.661628 dtype: float64
الآن دعونا نتعرف على الوظائف في الإحصاءات الوصفية لـ Python Pandas. يوضح الجدول أدناه الوظائف المهمة:
الرقم | الطريقة | الوصف |
1 | count | عدد العناصر غير الفارغة |
2 | sum | العدد الإجمالي |
3 | mean | الوسطية |
4 | median | الوسط الحسابي |
5 | mode | النمط |
6 | std | التباين المعياري |
7 | min | أدنى قيمة |
8 | max | أكبر قيمة |
9 | abs | القيمة المطلقة |
10 | prod | الناتج |
11 | cumsum | التراكمي |
12 | cumprod | التراكمي |
import pandas as pd import numpy as np # Create a series dictionary 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())
نتائج التنفيذ:
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
This function provides mean, std, and IQR values. And, the function does not include character columns and the given summary of numeric columns. 'include' is a parameter used to pass necessary information about which columns need to be considered when summarizing. Value list; the default is 'numeric'.
object − Summarize string columnsnumber − Summarize numeric columnsall − Summarize all columns together (should not be taken as a list value)Below we use the following statements and execute and output:
import pandas as pd import numpy as np # Create a series dictionary 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']))
نتائج التنفيذ:
Name count 12 unique 12 top Ricky freq 1
Below we use the following statements and execute and output:
import pandas as pd import numpy as np # Create a series dictionary 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'))
نتائج التنفيذ:
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