python csv文件读取成一个数组并转化为字典_从.csv文件读取值并将其转换为浮点数组...

本文介绍了如何使用numpy的genfromtxt函数将CSV文件读取成数组,并通过converters参数将日期列转换为datetime对象。同时提到了dtype=None参数自动识别数字列的类型。此外,还讨论了pandas的read_csv函数,它能自动解析日期且返回DataFrame,提供了更高级的数据操作功能。
摘要由CSDN通过智能技术生成

孩子,我给你请客了吗。numpy.genfromtxt有一个converters参数,它允许您在解析文件时为每一列指定一个函数。函数将输入CSV字符串值。它的返回值将成为numpy数组中的相应值。在

此外,dtype = None参数告诉genfromtxt对每个列的类型进行智能猜测。特别是,数字列会自动转换为适当的数据类型。在

例如,假设您的数据文件包含2011-06-19 17:29:00.000,72,44,56

那么

^{pr2}$

收益率(datetime.datetime(2011, 6, 19, 17, 29), 72, 44, 56)

[('Date', '|O4'), ('Stock', '

您真正的csv文件有更多的列,所以您希望向names添加更多的项,但否则,示例应该仍然有效。在

如果您不关心额外的列,可以指定一个fluff名称,如下所示:arr = np.genfromtxt(filename, delimiter=',',

converters={'Date': make_date},

names=('Date', 'Stock', 'Action', 'Amount') +

tuple('col{i}'.format(i=i) for i in range(22)),

dtype = None)

收益率(datetime.datetime(2011, 6, 19, 17, 29), 72, 44, 56, 0.4772, 0.3286, 0.8497, 31.3587, 0.3235, 0.9147, 28.5751, 0.3872, 0.2803, 0, 0.2601, 0.2073, 0.1172, 0, 0.0, 0, 5.8922, 1, 0, 0, 0, 1.2759)

您还可能有兴趣查看建立在numpy之上的pandas模块,它将解析CSV带到了更高的豪华级别:它有一个pandas.read_csv函数,parse_dates = True参数将自动解析日期字符串(使用dateutil)。在

使用pandas,可以使用df = pd.read_csv(filename, parse_dates = [0,1], header = None,

names=('Date', 'Stock', 'Action', 'Amount') +

tuple('col{i}'.format(i=i) for i in range(22)))

注意,不需要指定make_date函数. Just to be clearpands.read_csv版returns a数据帧,不是numpy数组。实际上,DataFrame可能对您的目的更有用,但是您应该知道它是一个不同的对象,它有一个全新的方法来利用和探索。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值