多因子模型之因子(信号)测试平台----python中Pandas做处理时内存节省的技巧

本文介绍了在Python Pandas中处理多因子模型数据时如何节省内存。通过查看DataFrame占用空间、转换时间列、指定数字列的数据类型和使用category类来减少内存消耗。例如,将时间列转为timestamp格式,将浮点数列设为float16,以及将重复元素较多的列设为category,可以显著降低内存占用。但需要注意,某些第三方库可能要求特定数据类型。
摘要由CSDN通过智能技术生成

    之前看到过一篇文章,讲的就是如何在使用pandas的时候降低内存的开销。笔者亲自尝试了一下,发现确实不错,但是也会有很多问题,譬如,一些第三方包(例如statsmodels、alphalens等)的运算要求数据就是float64类型的,这使得我们很尴尬呀。

    不管怎么样,如果我们自己处理数据的时候,或者第三方包支持的时候,这一系列方法还是很有用的。

1.查看dataframe占用空间

    例如,我们读取之前的所有行情和因子数据:

data = pd.read_csv('total_data.csv', index_col=0)
data.info(memory_usage='deep')	
    首先,我们读取total_data.csv这个数据,并制定第一列是index,然后,我们获取一下这个dataframe这个对象在内存中的情况。

<class 'pandas.core.frame.DataFrame'>
  
  
Int64Index: 91427 entries, 6095 to 91426
  
  
Data columns (total 13 columns):
  
  
date            91427 non-null object
  
  
open            91427 non-null float64
  
  
close           91427 non-null float64
  
  
high            91427 non-null float64
  
  
low             91427 non-null float64
  
  
volume          91427 non-null float64
  
  
openinterest    91427 non-null int64
  
  
raw_factor      91427 non-null float64
  
  
sec_id          91427 non-null object
  
  

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱塘小甲子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值