Pandas 基础 (4)—— 汇总和计算描述统计
生活随笔
收集整理的這篇文章主要介紹了
Pandas 基础 (4)—— 汇总和计算描述统计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Pandas 對象擁有一組常用的數學和統計方法,他們大部分都屬于約簡和匯總統計,用于從 Series 中提取單個值(如 sum/mean),或者從 DataFrame 的行或列中提取一個 Series。
In [144]: df = DataFrame([[1,np.nan],[2,3],[np.nan,np.nan],[0,2]],...: index=['a','b','c','d'],columns=['one','two'])In [145]: df
Out[145]: one two
a 1.0 NaN
b 2.0 3.0
c NaN NaN
d 0.0 2.0
# sum 方法返回一個含有列小計的 Series
In [146]: df.sum()
Out[146]:
one 3.0
two 5.0
dtype: float64
# axis 將會按行進行求和運算,NA 值會自動被排除
In [147]: df.sum(axis=1)
Out[147]:
a 1.0
b 5.0
c 0.0
d 2.0
dtype: float64
# 通過 skipna 參數可以禁用 NA 值參與計算
In [151]: df.sum(axis=1,skipna=False)
Out[151]:
a NaN
b 5.0
c NaN
d 2.0
dtype: float64
# idxmax、idxmin 返回的是間接統計(比如達到最小值或最大值的索引)
In [153]: df.idxmax()
Out[153]:
one b
two b
dtype: object
# cumsum 則是累計型的
In [154]: df.cumsum()
Out[154]: one two
a 1.0 NaN
b 3.0 3.0
c NaN NaN
d 3.0 5.0
describe 用于一次性產生多個匯總統計:
In [155]: df.describe()
Out[155]: one two
count 3.0 2.000000
mean 1.0 2.500000
std 1.0 0.707107
min 0.0 2.000000
25% 0.5 2.250000
50% 1.0 2.500000
75% 1.5 2.750000
max 2.0 3.000000
-
相關系數與協方差
P156
-
唯一值、值計數以及成員資格
從一維 Series 中提取不重復的值時,可以使用 unique 函數:
In [156]: obj = Series(['c','a','d','a','a','b','b','c','c'])In [157]: obj.unique() Out[157]: array(['c', 'a', 'd', 'b'], dtype=object)value_counts 用于計算一個 Series 中各值出現的頻率:
In [160]: obj.value_counts() Out[160]: c 3 a 3 b 2 d 1 dtype: int64 # 頂級 pandas 方法,可用于任何數組或序列 In [162]: pd.value_counts(obj.values, sort=False) Out[162]: a 3 c 3 b 2 d 1 dtype: int64isin 用于判斷矢量化集合的成員資格,可用于選取 Series 中或 DataFrame 列中數據的子集:
obj Out[163]: 0 c 1 a 2 d 3 a 4 a 5 b 6 b 7 c 8 c dtype: objectobj.isin(['c','b']) Out[164]: 0 True 1 False 2 False 3 False 4 False 5 True 6 True 7 True 8 True dtype: boolIn [166]: mask = obj.isin(['c','b'])In [167]: obj[mask] Out[167]: 0 c 5 b 6 b 7 c 8 c dtype: object
?
總結
以上是生活随笔為你收集整理的Pandas 基础 (4)—— 汇总和计算描述统计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pandas 基础 (3)—— 重新索引
- 下一篇: Pandas 基础 (5) —— 处理缺