Numpy 对战 Pandas 之CSV文件读取效率

Numpy 对战 Pandas 之CSV文件读取效率

本文旨在分析Numpy读取CSV文件和Pandas读取CSV文件的对比。
在这里插入图片描述

1. Numpy.loadtxt()

官网教程-Numpy.loadtxt()
使用numpy中的loadtxt()方法可以很方便的读取文件,代码如下:

import time
import numpy as np
path = r"C:\Users\hewenyong\Desktop\csv\csv_folder\2.csv"

start = time.clock()  # 起始时间
dataset = np.loadtxt(path, dtype=np.str, delimiter=',') # 读取文件
test_dict = {}
data = dataset.tolist()
for item in data:
    print(item)
end = time.clock()  # 结束时间

print(str(end-start))

结果如下:
红色框起来的为整个读取csv文件的的时间,大约0.106秒,(上面还有一大堆打印的结果就没粘贴出来)
Numpy.loadtxt()读取文件时间结果图


2. Pandas.read_csv()

官网教程-Pandas.read_csv()
这是pandas.read_csv()方法的基本使用过程,代码如下:

import time
path = r"C:\Users\hewenyong\Desktop\csv\csv_folder\2.csv"

start = time.clock()
with open(path, 'r', encoding='UTF-8') as f:
    dataset = pd.read_csv(f, header=None)
for index,row in dataset.iterrows():
    print(row[0],row[1])

end = time.clock()

print(str(end-start))

结果如下:
可以看到耗时大约0.386s
在这里插入图片描述


3. 总结

结论:
从上面结果图可以看到我们考虑从csv文件的读取,到遍历每一行数据完成。
numpy.load_txt()更胜一筹。


4. 意外发现

由于print函数等中间操作存在效率影响,所以将中间操作代码直接注释,只考虑文件读取过程,发现,结果恰恰相反,pandas.read_csv()时间更短。
结果如下表格:

numpy.load_txt()pandas.read_csv()
打按行印所有数据0.106秒0.386s
只考虑文件读取0.0107秒0.0029s

因此,具体使用没有绝对,还是看场景。

  • 论直接读取csv,pandas可能更快;
  • 但是当我们需要遍历每一行数据,则numpy更快。

开心,又Get到编程的快乐。
加油!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值