![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python数据处理
量化橙同学
好好记录就是对曾经的负责,是对生命的珍视,对价值的保护,对勤奋的肯定,对灵魂的忠诚!
展开
-
python数据处理——numpy rolling构造数据集操作
这是一个经常在机器学习中需要用到的操作,比如我们现在有一个dataframe样的数据集,我们需要把它feed进一个模型之中,我们首先要进行数据集的构造和切分工作.比如数据集是一个日频的股票数据,我们要构造的样本,每一个样本回看100天,即长度是100,步长为2的数据,我们可以借助numpy下的一个函数来进行from numpy.lib.stride_tricks import sliding_window_viewsliding_window_view(np.array([1, 2, 3, 4, 5原创 2022-02-19 19:16:36 · 1867 阅读 · 0 评论 -
python学习——一段代码实现 pandas series 多周期rolling平均
import numpy as npimport pandas as pdnp.random.seed(123)df = pd.DataFrame(np.random.randn(100,3)).add_prefix('col')windows = [5, 15, 30, 45]stats = ['mean', 'std']cols = pd.MultiIndex.from_product([windows, df.columns, stats],原创 2022-02-08 14:51:33 · 1294 阅读 · 0 评论 -
python数据分析——时间序列特征工程的介绍
https://www.analyticsvidhya.com/blog/2019/12/6-powerful-feature-engineering-techniques-time-series/介绍了对于特征工程的常用的一些操作6 Powerful Feature Engineering Techniques For Time Series Data (using Python)Quick Introduction to Time Series Setting up the Problem .原创 2021-08-18 10:19:06 · 418 阅读 · 0 评论 -
python学习——BeautifulSoup用法
soup.select()函数的使用用法爬虫学习——爬虫之soup.select()用法浅析原创 2021-08-16 15:43:29 · 352 阅读 · 0 评论 -
python学习——创建一个以月为单位间隔的日期序列
首先最简单的写在前面,使用pandas下的date_range函数,freq里面可以设置单位间隔:pd.date_range(start='1/1/1980', end='11/1/1991', freq='M')如果我想要对起始日期做限定,那可以使用pandas下的另一个函数,pd.DateOffset(days=7)上面的代码就是.如果我要设置为1980年1月8日开始,那就是:pd.date_range(start='1/1/1980', end='11/1/1991', freq='M'原创 2021-08-16 09:16:43 · 934 阅读 · 1 评论 -
python数据处理——记录一个不知道怎么称呼但是很叼的操作
首先在处理之前呢,这个df_all是长这样的:经过如下的代码变换:region_up = pd.pivot_table(df_all.groupby(["time", "region"])["up"].sum().reset_index(), values="up", index="time", columns="region")之后的dataframe是长这样的:...原创 2021-03-09 19:18:27 · 189 阅读 · 0 评论 -
python from python_file import * 找不到对应的模块
这个的问题是从一个python文件下读取所有的函数,这个是一个蛮坑爹的问题,可以检查一下你要读取的python文件里的函数是不是下划线_开头的,如果是,那应该就会报错,像这样:比如我要读取的config.py文件是这样的:import numpy as npfrom scipy.stats import rankdatadef _rolling_rank(data): value = rankdata(data)[-1] return valuedef _rollin原创 2020-09-21 09:54:27 · 1184 阅读 · 0 评论 -
python数据处理——locale.Error: unsupported locale setting解决办法
export LC_ALL=C原创 2020-09-20 00:28:22 · 2318 阅读 · 1 评论 -
python数据处理——pandas dataframe数据在ide中(jupyter notebook,pycharm)显示不全的问题
pd.options.display.max_columns = None加上这行设置就行原创 2020-08-07 14:23:28 · 1295 阅读 · 2 评论 -
python数据处理——字符特征转数字特征
feature = pd.factorize(feature)这样处理之后,就会把原来的那列含有字符串的数据,根据类别,处理为数值类型的数据原创 2020-08-07 14:14:21 · 2114 阅读 · 0 评论 -
python数据处理——获得pandas dataframe中字符串里的数字
for i in df.columns: df[i] = df[i].str.extract('(\d+)')原创 2020-08-07 14:11:17 · 5965 阅读 · 2 评论 -
python数据处理——使用pandas 压缩存储hdf5文件
这是一个比较扯的问题,如果你已经能够通过我找到的这几个博文解决的话,下面我的纠结和探讨就不用看了。如下:TuShare(3):使用pandas 压缩存储hdf5文件pandas写入读取h5文件Py之PyTables:PyTables的简介、安装、使用方法详细攻略解决问题ImportError: HDFStore requires PyTables, "No module nam...原创 2018-12-22 15:58:05 · 3610 阅读 · 0 评论 -
python数据处理——回归模型的误差分析
首先是提供各个比较好的来源,有空了我再写一个我自己整理的版本出来可以参考简书上的:回归评价指标MSE、RMSE、MAE、R-Squaredhttps://www.jianshu.com/p/9ee85fdad150...原创 2019-04-25 11:39:13 · 4839 阅读 · 0 评论 -
python数据处理——重复行均值合并
raw_df=raw_df.groupby(by='publish_time').mean()raw_df.sort_index(ascending=False,inplace=True)return raw_df原创 2019-07-01 18:33:49 · 4363 阅读 · 0 评论 -
量化投资学习——Dealing with the Inventory Risk A solution to the market making problem
这篇论文是一篇高频交易做市的论文,怎么说呢,很难,部门leader给我的时候,我就发现很熟悉,原来是实验室小老板给过的很难的那篇,来来来,大家跟着我的思路,我们一起把这个论文扒一扒。AbstractMarket makers continuously set bid and ask quotes for the stocks they have under consideration. H...原创 2019-07-02 16:06:06 · 1039 阅读 · 1 评论 -
python数据处理——dataframe里的行列分割
有时候会遇到一种情况,就是在dataframe的某一列中是比较复杂的数据结构,比如一个dict,或者一个list,或者一个list of list,其实都有很好的办法可以解决的,不需要用多重的for循环,这里放两个例子:Splitting a list in a Pandas cell into multiple columns源dataframedf = pd.DataFrame(...原创 2019-06-27 09:46:55 · 7243 阅读 · 0 评论 -
python数据处理——数据库的使用
Postgresql查询表的大小--数据库中单个表的大小(不包含索引)select pg_size_pretty(pg_relation_size('表名'));--查出所有表(包含索引)并排序SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_s...原创 2019-07-03 10:39:20 · 449 阅读 · 0 评论 -
python数据处理——Numpy特殊例程
转载自:https://www.jianshu.com/p/dcc02facd405字典排序:import numpy as npimport datetime# 日期转成字符串def datestr2num(s): return datetime.datetime.strptime(s, "%d-%m-%Y").toordinal()# 读取 AAPL 的日期和收盘...转载 2019-07-09 15:26:14 · 478 阅读 · 0 评论 -
python数据处理——dataframe指定多列去重,求差集
1)去重指定多列去重,这是在dataframe没有独一无二的字段作为PK(主键)时,需要指定多个字段一起作为该行的PK,在这种情况下对整体数据进行去重。Attention:主要用到了drop_duplicates方法,并设置参数subset为多个字段名构成的数组。>>>import pandas as pd >>>data={'stat...原创 2019-07-09 15:37:42 · 9644 阅读 · 0 评论 -
python数据处理——选择一段时间内的数据
pandas.DataFrame.between_time链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.between_time.htmlDataFrame.between_time(start_time,end_time,include_start=True,includ...原创 2019-07-09 15:39:54 · 6264 阅读 · 0 评论 -
python数据处理——匹配最近的时间戳
题 pandas.merge:匹配最近的时间戳> =时间戳系列我有两个数据帧,两个数据帧都包含一个不规则间隔的毫秒分辨率时间戳列。我的目标是匹配行,以便对于每个匹配的行,1)第一个时间戳总是小于或等于第二个时间戳,2)匹配的时间戳对于满足1)的所有时间戳对最接近关键函数名称位searchsort(),这是一个在numpy下的函数,使用的方法如下所示:import pand...原创 2019-07-06 15:38:27 · 4362 阅读 · 1 评论 -
python数据处理——描述统计类函数
这是一个会长期更新的文章集合,会放一些比较有用的pandas技巧,本篇主要是pandas的描述统计类函数数据离散化 - 等宽&等频&聚类离散Python数据分析第二版偏度计算方法:Pandas之skew,求偏度峰度计算方法:峰值计算方法...原创 2019-07-24 19:49:40 · 676 阅读 · 0 评论 -
python基础——过滤list的元素
fields=['t_decay','d_decay','t','d']sub_fields = list(filter(lambda item: item.find('decay') > 0, fields))sub_fields['t_decay','d_decay']列表解析表达式:[expr for iter_val in iterable][expr fo...原创 2019-05-05 11:29:58 · 1843 阅读 · 0 评论 -
python数据处理——scikit特征选择工具
在scikit中包含了一个特征选择的模块sklearn.feature_selection,而在这个模块下面有以下几个方法:Removing features with low variance(剔除低方差的特征)Univariate feature selection(单变量特征选择)Recursive feature elimination(递归功能消除)Feature select...原创 2019-05-05 11:27:14 · 427 阅读 · 0 评论 -
python数据处理——获得A股市场交易的月初周初日期
不废话直接上代码:def gen_save_exchange_calendar(): #从TuShare读取开市日历,然后自己计算week/month/querter/year sart/end 属性 #然后保存在本地以供以后使用 cal_dates = ts.trade_cal() cal_dates['isWeekStart'] = 0 cal_d...原创 2019-04-24 16:51:46 · 1263 阅读 · 0 评论 -
python数据处理——numpy矩阵操作,取其中的一行或一列
>>> import numpy as np>>> a = np.array(9).reshape(3,3) 另外再重申一下构建一个初始化的矩阵的办法:如下面这个构建一个从0到8的3*3矩阵>>> a = np.arange(9).reshape(3,3)>>> aarray([[0, 1, 2], ...原创 2019-01-17 12:32:15 · 11064 阅读 · 1 评论 -
python数据处理——pandas Dataframe.mean()没有返回值,返回series[]
博主真真是个遍历BUG的小能手,这个问题的原因是在pd.read_csv()之类的操作时候,没有指定数值类型,导致的这个问题,因此包括在内的,数值运算之后数据变得很奇怪啊,数据为nan啊之类的问题都有解了,所以说,在read的时候,dtype一下,是一种态度要问我怎么发现的,我在使用DEBUG功能时候,使用了这个函数:意思就是对dataframe的某一列求均值啦,返回typeerror,我...原创 2019-01-11 10:12:14 · 6022 阅读 · 2 评论 -
金融数据时间序列分析——模型准确率过高怎么办
多少年后,小f想起了自己还是刚刚出道的小萌新时候犯的一个错误,当时模型的准确率贼高,高的离谱,就像下面这种情况 precision recall f1-score support -1 1 1 1 1934 0 1 1 ...原创 2019-01-10 17:58:33 · 2165 阅读 · 0 评论 -
python数据处理——pandas进行数据变频或插值
这里首先要介绍官方文档,对python有了进一步深度的学习的大家们应该会发现,网上不管csdn或者简书上还是什么地方,教程来源基本就是官方文档,所以英语只要还过的去,推荐看官方文档,就算不够好,也可以只看它里面的sample就够了好了,不说废话,看我的代码:import pandas as pdimport numpy as nprng = pd.date_range('201801...原创 2019-01-03 20:59:47 · 5765 阅读 · 1 评论 -
python数据处理——使用dataframe传入sklearn模型的常用操作
首先确定x_all和y_all,x_all经常涉及的问题就是归一化的问题,统一各个features的量纲,这是非常有必要的,对于数据x_all进行归一化有几种常见的操作,比如我要对某一列进行归一化,就可以这样:t = pd.DataFrame({ 'A': [1, 1, 2, 2, 3], 'B': [4, 5, 5, 6, 6]})t.A = MinMaxSca...原创 2018-12-22 15:45:48 · 6355 阅读 · 2 评论 -
数字货币量化投资文献综述(二)
《“Know When to Hodl 'Em, Know When to Fodl 'Em”: An Investigation of Factor Based Investing in the Cryptocurrency Space》数据特征:利用11个数字货币的行情和发行数据,构造了动量、价值和caryy因子:动量因子为前一周的回报价值因子为当前市场价值与区块链中$-val...原创 2018-12-17 10:59:40 · 1492 阅读 · 0 评论 -
python数据处理——按列名选取dataframe的多列
这是一个经常遇到的问题了,但是为什么专门拿出来写一个博客呢,因为啊,博主啊博主,你太笨了,总是忘!最后一次啊,不能再忘了!data[['w','z']] #选择表格中的'w'、'z'列 不是data['w','z']记住啊!!...原创 2018-12-27 16:12:18 · 50645 阅读 · 21 评论 -
Jupyter Notebook 导入python文件时的问题
如果你发现在同目录下的ipynb文件导入py文件总是告诉你,模块不存在,模块找不到,那你就重新创建一个ipynb文件,新的,和之前那个一毛一样就可以,大不了重新启动一下Jupyter Notebook然后你就会发现是你的电脑在逗你玩,微笑.jpg上图:如图所示,apha101和DataProcessor.ipynb,进入到DataProcessor.ipynb,新建一个cell这是...原创 2018-12-21 18:18:09 · 12759 阅读 · 3 评论 -
python数据处理——选取csv文件中某几行的数据
有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因为如果在面临亿万级别的大规模数据,得到的结果就是boom,boom,boom。我们要使用一下现成的函数里面的参数nrows,和skiprows,一个代表你要读几行,一个代表你从哪开始读,这就可以了,比如从第3行读取4个import pandas as p...原创 2019-02-28 10:21:15 · 18597 阅读 · 0 评论 -
python数据处理——样本数据类别不平衡
keras已经在新版本中加入了 class_weight = 'auto'。设置了这个参数后,keras会自动设置class weight让每类的sample对损失的贡献相等。例子如下:clf.fit([X_head_train,X_body_train], y_train_embedding, epochs=10, batch_size=128, class_weight = 'auto'...原创 2019-03-11 14:48:25 · 1455 阅读 · 0 评论 -
python数据处理—— 历届天池竞赛答辩PPT和视频
1、阿里移动推荐算法: 答辩视频:https://space.dingtalk.com/c/gQHOEnXdXw2、资金流入流出预测: 答辩视频:https://space.dingtalk.com/c/gQHOEnXi6w3、阿里移动推荐&资金流入流出预测答辩PPT下载:https://tianchi.shuju.aliyun.com/mini/reply.htm?spm=...原创 2019-04-15 15:32:16 · 1226 阅读 · 0 评论 -
python数据处理——强化学习介绍
原创 2019-04-15 11:30:46 · 434 阅读 · 0 评论 -
python数据处理——机器学习树模型介绍
转载自从 XGB 到 LGB:美团外卖树模型的迭代之路XGB、LGB 都是 GBDT 的方法。GB,选择梯度下降方向,学习弱分类器。GBDT 的弱学习器为回归树,举一个例子。这个地方需要预测一个人对电脑、游戏感兴趣的程度,我们需要学习 N 棵树,每棵树学习过程当中都有分裂节点,这个时候我们需要选择 Splite Feature 和对应的 Split Value,比如这个人对应...原创 2019-04-15 09:54:10 · 1016 阅读 · 0 评论 -
量化投资学习——因子IC、IR的介绍
因子IC、IR的介绍:IC即信息系数(Information Coefficient),表示所选股票的因子值与股票下期收益率的截面相关系数,通过 IC 值可以判断因子值对下期收益率的预测能力。信息系数的绝对值越大,该因子越有效。IC为负表示因子值越小越好,IC为正表示因子值越大越好。IC的计算方法是:计算全部股票在调仓周期期初排名和调仓周期期末收益排名的线性相关度(Correlation)。I...原创 2019-04-16 09:23:44 · 64401 阅读 · 1 评论 -
python数据处理——pandas更换列名
import pandas as pddf = pd.DataFrame({'A:1,'B':2,'C:3})df = df.rename(columns={'A':'AA'})#即可完成列名称的更改,列A变为列AA原创 2019-04-09 14:49:24 · 7222 阅读 · 0 评论