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 |