# -*- 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