python笔记:4.1.1.3统计量_集中趋势_分位数

# -*- coding: utf-8 -*-
"""
Created on Sun May 26 14:59:26 2019

@author: User
"""

import pandas as pd
import numpy as np
from scipy import stats

stock=np.dtype([('id',np.str,5),
                ('time',np.str,10),
                ('code',np.str,10),
                ('open_p',np.float64),
                ('close_p',np.float64),
                ('low_p',np.float64),
                ('vol',np.int32),
                ('high_p',np.float64),
                ('col',np.int32)])

print('\n jd_stock:')
jd_stock=np.loadtxt('data\stock.csv',delimiter=',',dtype=stock)
print(jd_stock)

print('\n jddf:')
jddf=pd.read_csv('data\stock.csv',sep=',',header=None,
                   names=['id','time','code','open_p','colse_p','low_p','vol','high_p','col'])
print(jddf.head())

print("\n 返回指定分位点的分位数:")
print(stats.scoreatpercentile(jddf['open_p'],[10,20,25,50,75,100]))

print("\n 返回指定数值所处的分位点:")
print(stats.percentileofscore(jddf['open_p'],4.51))

运行:


 jd_stock:
[('1', '20130902', '600028', 4.41, 4.43, 4.37,  17275, 4.41,  392662)
 ('2', '20130903', '600028', 4.41, 4.46, 4.4 ,  19241, 4.45,  434177)
 ('3', '20130904', '600028', 4.44, 4.49, 4.42,  20106, 4.47,  451470) ...
 ('1356', '20190327', '600028', 5.71, 5.75, 5.69,  63601, 5.72, 1112544)
 ('1357', '20190328', '600028', 5.69, 5.7 , 5.62,  65692, 5.64, 1162484)
 ('1358', '20190329', '600028', 5.65, 5.75, 5.61, 112785, 5.74, 1981482)]

 jddf:
   id      time    code  open_p  colse_p  low_p       vol  high_p     col
0   1  20130902  600028    4.41     4.43   4.37  17275.39    4.41  392662
1   2  20130903  600028    4.41     4.46   4.40  19241.84    4.45  434177
2   3  20130904  600028    4.44     4.49   4.42  20106.30    4.47  451470
3   4  20130905  600028    4.47     4.48   4.42  15582.48    4.47  349997
4   5  20130906  600028    4.46     4.52   4.45  19101.41    4.50  425777

 返回指定分位点的分位数:
[4.67  4.91  4.98  5.665 6.18  8.7  ]

 返回指定数值所处的分位点:
5.559646539027982
 

上一篇:python笔记:4.1.2.4统计量_离散程度_协方差


下一篇:联动通达信