这一章包含数据分析用得最多的函数操作。
@auther: sunzhenhang
@zhihu: https://www.zhihu.com/people/HANGZS/activities
!cd
E:\ML\实战\pandas实用教程 - 副本
import numpy as np
import pandas as pd
顾名思义,这些统计只是自身分布情况的反映。
df = pd.DataFrame([[1,2],[3,5]], index = ['a','b'],columns = ['A','B'])
df
A | B | |
---|---|---|
a | 1 | 2 |
b | 3 | 5 |
df.sum() # 按列加
A 4 B 7 dtype: int64
df.sum(axis = 'columns') # 按行加
a 3 b 8 dtype: int64
.mean(), .std(), .var()
¶均值、标准差、方差
.max(), .min(), .median()
¶最大、最小、中值
df.mad(axis = 'index')
A 0.75 B 0.75 dtype: float64
计算任意两列直接的统计量,返回以列索引为新行索引和列索引的DataFrame
df1 = pd.DataFrame([[1,2],[2,0]],columns = ['B','C'])
df1
B | C | |
---|---|---|
0 | 1 | 2 |
1 | 2 | 0 |
df1.cov()
B | C | |
---|---|---|
B | 0.5 | -1.0 |
C | -1.0 | 2.0 |
.corr()
¶相关系数
df1.corr()
B | C | |
---|---|---|
B | 1.0 | -1.0 |
C | -1.0 | 1.0 |
df1 = pd.DataFrame([[1,2],[2,0],[2,3]],index = [0,1,2],columns = ['B','C'])
df1
B | C | |
---|---|---|
0 | 1 | 2 |
1 | 2 | 0 |
2 | 2 | 3 |
df
A | B | |
---|---|---|
0 | 1 | 2 |
1 | 2 | 0 |
df.corrwith(df1) #只对 同名列 和 同名行 进行计算
A NaN B -1.0 C NaN dtype: float64
s = pd.Series([1,2], index = [0,1], name = 'B')
s
0 1 1 2 Name: B, dtype: int64
df
A | B | |
---|---|---|
0 | 1 | 2 |
1 | 2 | 0 |
df.corrwith(s)
A 1.0 B -1.0 dtype: float64
s = pd.Series([1,2,1,2,1,3])
s
0 1 1 2 2 1 3 2 4 1 5 3 dtype: int64
s.value_counts()
1 3 2 2 3 1 dtype: int64
s.value_counts(ascending = True)
3 1 2 2 1 3 dtype: int64
s.value_counts( bins = 2) # bins按照int平均分割,左开右闭,左侧外延1%以包含最左值
(0.997, 2.0] 5 (2.0, 3.0] 1 dtype: int64
df
A | B | |
---|---|---|
0 | 1 | 2 |
1 | 2 | 0 |
df.count(axis = 0)
A 2 B 2 dtype: int64
df.count(axis = 1)
0 2 1 2 dtype: int64