欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

pandas

时间:2023-05-23

题目:

1、将因子数据做标准化处理

2、以2021-01-04的PE数据作为例子数据

概念:

因子标准化:将因子数据按某种标准把数据转化成某个范围内

注:一般要将因子数据去极值后再进行标准化处理

import pandas as pdimport numpy as npfrom sklearn.preprocessing import StandardScalerdf_pe_20210104 = pd.read_csv('./pe_20210104.csv',encoding='utf-8')df_pe_20210104 = df_pe_20210104.loc[:,['secID','tradeDate','closePrice','PE']]df_pe_20210104.head()

# 自实现3倍中位数绝对偏差去极值def mad(factor): me = np.median(factor) mad = np.median(abs(factor-me)) # 求出3倍中位数的上下限制 up = me + (3*1.4826*mad) down = me - (3*1.4826*mad) # 利用3倍中位数的值去极值 factor = np.where(factor>up,up,factor) factor = np.where(factor

std_s = StandardScaler()df_pe_20210104['pe_mad_std_s']=std_s.fit_transform(df_pe_20210104['pe_mad'].to_frame())df_pe_20210104['pe_mad_std_s'].plot()

# 自实现标准化def stand(factor):mean = factor.mean()std = factor.std()return (factor-mean)/stddf_pe_20210104['pe_mad_std'] = stand(df_pe_20210104['pe_mad'])

PS:

所使用的数据

链接:https://pan.baidu.com/s/11GubyLR2ZkuiXhyk5n6MzA 
提取码:n14t

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。