- 数值计算
df = pd.DataFrame({'key1':[4,5,3,np.nan,2],
'key2':[1,2,np.nan,4,5],
'key3':[1,2,3,'j','k']},
index = ['a','b','c','d','e'])
print(df)
key1 key2 key3
a 4.0 1.0 1
b 5.0 2.0 2
c 3.0 NaN 3
d NaN 4.0 j
e 2.0 5.0 k
float64 float64 object
1.1 均值
- 均值
df.mean()
整个DataFrame的均值,默认NaN值不参与运算
key1 3.5
key2 3.0
dtype: float64
- 按行求均值
axis=1
m2 = df.mean(axis=1)
a 2.5
b 3.5
c 3.0
d 4.0
e 3.5
dtype: float64
- 按列求均值
axis=0
,或通过列名
df['key2'].mean() #3.0
1.2 分位数
pandas 分位数
1.3 一些其他函数
df.count(),→ count统计非Na值的数量
df.min(),→ min统计最小值
df['key2'].max()→ max统计最大值
df.sum()→ sum求和
df.mean()→ mean求平均值
df.median()→ median求算数中位数,50%分位数
df.std(),df.var()→ std,var分别求标准差,方差
df.skew()→ skew样本的偏度
df.kurt()→ kurt样本的峰度
df['key1_s'] = df['key1'].cumsum() # 计算累加和
df['key1_p'] = df['key1'].cumprod() #计算累积
df.cummax(),df.cummin() → cummax,cummin分别求累计最大值,累计最小值
1.4 唯一值:.unique()
相当于python中的set().
s = pd.Series(list('asdvasdcfgg'))
['a' 's' 'd' 'v' 'c' 'f' 'g'] <class 'numpy.ndarray'>
1.5 值计数:.value_counts()
Series对象的性质,不能用于DataFrame
sc = s.value_counts(sort = False)# # 也可以这样写:pd.value_counts(sc, sort = False)
d 2
a 2
s 2
c 1
f 1
g 2
v 1
dtype: int64
1.6 成员资格:.isin()
逐个元素判断,是否在xx中
df = pd.DataFrame({'key1':list('asdcbvasd'),
'key2':np.arange(4,13)})
key1 key2
0 a 4
1 s 5
2 d 6
3 c 7
4 b 8
5 v 9
6 a 10
7 s 11
8 d 12
print(df.isin(['a','bc','10',8]))
key1 key2
0 True False
1 False False
2 False False
3 False False
4 False True
5 False False
6 True False
7 False False
8 False False