import pandas as pd
import numpy as np
创建一个 Series 字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','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)
df
| Name | Age | Rating | |
|---|---|---|---|
| 0 | Tom | 25 | 4.23 |
| 1 | James | 26 | 3.24 |
| 2 | Ricky | 25 | 3.98 |
| 3 | Vin | 23 | 2.56 |
| 4 | Steve | 30 | 3.20 |
| 5 | Minsu | 29 | 4.60 |
| 6 | Jack | 23 | 3.80 |
| 7 | Lee | 34 | 3.78 |
| 8 | David | 40 | 2.98 |
| 9 | Gasper | 30 | 4.80 |
| 10 | Betina | 51 | 4.10 |
| 11 | Andres | 46 | 3.65 |
df.sum()
Name TomJamesRickyVinSteveMinsuJackLeeDavidGasperBe... Age 382 Rating 44.92 dtype: object
numeric_cols = df.select_dtypes(include=['number']).columns
df[numeric_cols].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
查看结果:
df.mean(numeric_only=True)
Age 31.833333 Rating 3.743333 dtype: float64
df.std(numeric_only=True)
Age 9.232682 Rating 0.661628 dtype: float64
| 编号 | 函数 | 描述 |
|---|---|---|
| 1 | count() | 非空观测数量 |
| 2 | sum() | 所有值之和 |
| 3 | mean() | 所有值的平均值 |
| 4 | median() | 所有值的中位数 |
| 5 | mode() | 值的模值 |
| 6 | std() | 值的标准偏差 |
| 7 | min() | 所有值中的最小值 |
| 8 | max() | 所有值中的最大值 |
| 9 | abs() | 绝对值 |
| 10 | prod() | 数组元素的乘积 |
| 11 | cumsum() | 累计总和 |
| 12 | cumprod() | 累计乘积 |
注:由于DataFrame是异构数据结构。通用操作不适用于所有函数。
类似于: sum() , cumsum() 函数能与数字和字符(或)字符串数据元素一起工作,不会产生任何错误。 字符聚合从来都很少被使用,虽然这些函数不会引发任何异常。
由于这样的操作无法执行,因此,当DataFrame包含字符或字符串数据时, 像 abs() ,cumprod() 这样的函数会抛出异常。
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 |
该函数给出了平均值,标准差和IQR值。 而且,函数排除字符列,并给出关于数字列的摘要。 include 是用于传递关于什么列需要考虑用于总结的必要信息的参数。 获取值列表;默认情况下是”数字值”。
object- 汇总字符串列number- 汇总数字列all- 将所有列汇总在一起(不应将其作为列表值传递)
现在,在程序中使用以下语句并检查输出:
df.describe(include=['object'])
| Name | |
|---|---|
| count | 12 |
| unique | 12 |
| top | Tom |
| freq | 1 |
现在,使用以下语句并查看输出:
df. describe(include='all')
| Name | Age | Rating | |
|---|---|---|---|
| count | 12 | 12.000000 | 12.000000 |
| unique | 12 | NaN | NaN |
| top | Tom | NaN | NaN |
| freq | 1 | NaN | NaN |
| mean | NaN | 31.833333 | 3.743333 |
| std | NaN | 9.232682 | 0.661628 |
| min | NaN | 23.000000 | 2.560000 |
| 25% | NaN | 25.000000 | 3.230000 |
| 50% | NaN | 29.500000 | 3.790000 |
| 75% | NaN | 35.500000 | 4.132500 |
| max | NaN | 51.000000 | 4.800000 |