请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  源码分享 帖子:3364670 新帖:28

【dataframe】常用统计函数

专门套利发表于:8 月 22 日 10:52回复(1)

dataframe 常用统计函数¶

摘要¶

  • 常用统计函数

    • describe 针对Series或个DataFrame列计算汇总统计

    • count 非na值的数量

    • min、max 计算最小值和最大值

    • idxmin、idxmax 计算能够获取到最大值和最小值得索引值

    • quantile 计算样本的分位数(0到1)

    • sum 值的总和

    • mean 值得平均数

    • median 值得算术中位数(50%分位数)

    • mad 根据平均值计算平均绝对离差

    • var 样本值的方差

    • std 样本值的标准差

    • skew 样本值得偏度(三阶矩)

    • kurt 样本值得峰度(四阶矩)

    • cumsum 样本值得累计和

    • cummin,cummax 样本值得累计最大值和累计最小值

    • cumprod 样本值得累计积

    • diff 计算一阶差分

    • pct_change 计算百分数变化

  • 查看函数的详细信息

  • 更多的函数

获得一个dataframe数据类型的样例¶

df=get_price('000001.XSHE',start_date='2016-02-01',end_date='2016-02-04',frequency='daily',fields=['open','high','low','close'])df

openhighlowclose
2016-02-018.088.107.887.93
2016-02-027.938.127.928.05
2016-02-037.978.007.917.97
2016-02-048.008.098.008.05

df.describe()¶

# describe 针对Series或个DataFrame列计算汇总统计df.describe()

openhighlowclose
count4.0000004.0000004.0000004.00
mean7.9950008.0775007.9275008.00
std0.0635090.0531510.0512350.06
min7.9300008.0000007.8800007.93
25%7.9600008.0675007.9025007.96
50%7.9850008.0950007.9150008.01
75%8.0200008.1050007.9400008.05
max8.0800008.1200008.0000008.05

df.count()¶

# count 非na值的数量df.count()
open     4
high     4
low      4
close    4
dtype: int64

df.min() df.max()¶

# min、max 计算最小值和最大值df.min()
open     7.93
high     8.00
low      7.88
close    7.93
dtype: float64

df.idxmin() df.idxmax()¶

# idxmin、idxmax 计算能够获取到最大值和最小值得索引值df.idxmin()
open    2016-02-02
high    2016-02-03
low     2016-02-01
close   2016-02-01
dtype: datetime64[ns]

df.quantile()¶

# quantile 计算样本的分位数(0到1)df.quantile()
open     7.985
high     8.095
low      7.915
close    8.010
dtype: float64

df.sum()¶

# sum 值的总和df.sum()
open     31.98
high     32.31
low      31.71
close    32.00
dtype: float64

df.mean()¶

# mean 值得平均数df.mean()
open     7.9950
high     8.0775
low      7.9275
close    8.0000
dtype: float64

df.median()¶

# median 值得算术中位数(50%分位数)df.median()
open     7.985
high     8.095
low      7.915
close    8.010
dtype: float64

df.mad()¶

# mad 根据平均值计算平均绝对离差df.mad()
open     0.04500
high     0.03875
low      0.03625
close    0.05000
dtype: float64

df.var()¶

# var 样本值的方差df.var()
open     0.004033
high     0.002825
low      0.002625
close    0.003600
dtype: float64

df.std()¶

# std 样本值的标准差df.std()
open     0.063509
high     0.053151
low      0.051235
close    0.060000
dtype: float64

df.skew()¶

# skew 样本值得偏度(三阶矩)df.skew()
open     0.843252
high    -1.666658
low      1.329083
close   -0.370370
dtype: float64

df.kurt()¶

# kurt 样本值得峰度(四阶矩)df.kurt()
open     0.933953
high     3.047698
low      2.374596
close   -3.901230
dtype: float64

df.cumsum()¶

# cumsum 样本值得累计和df.cumsum()

openhighlowclose
2016-02-018.088.107.887.93
2016-02-0216.0116.2215.8015.98
2016-02-0323.9824.2223.7123.95
2016-02-0431.9832.3131.7132.00

df.cummin()¶

# cummin,cummax 样本值得累计最大值和累计最小值df.cummin()

openhighlowclose
2016-02-018.088.17.887.93
2016-02-027.938.17.887.93
2016-02-037.938.07.887.93
2016-02-047.938.07.887.93

df.cumprod()¶

# cumprod 样本值得累计积df.cumprod()

openhighlowclose
2016-02-018.0800008.100007.8800007.930000
2016-02-0264.07440065.7720062.40960063.836500
2016-02-03510.672968526.17600493.659936508.776905
2016-02-044085.3837444256.763843949.2794884095.654085

df.diff()¶

# diff 计算一阶差分df.diff()

openhighlowclose
2016-02-01NaNNaNNaNNaN
2016-02-02-0.150.020.040.12
2016-02-030.04-0.12-0.01-0.08
2016-02-040.030.090.090.08

df.pct_change()¶

# pct_change 计算百分数变化df.pct_change()

openhighlowclose
2016-02-01NaNNaNNaNNaN
2016-02-02-0.0185640.0024690.0050760.015132
2016-02-030.005044-0.014778-0.001263-0.009938
2016-02-040.0037640.0112500.0113780.010038

查看函数的详细信息¶

在函数后面加个问号(英文的),在研究中执行下,会弹出一个窗口,可以看到更详细的信息,包括比较全面的可用参数即介绍,不过是英文的。例子如下:

df.pct_change?

全部回复

0/140

量化课程

    移动端课程