笔记|Python 性能开发|Python各方法读取csv性能比较
以 “阿里天池 Imagine Computing 创新技术大赛赛道1:边缘云内容分发网络客户体验预测算法” 的训练数据集为例。
文件大小:1002 MB
行数:9000000
列数:18 列(其中字符串 2 列、整型 5 列、浮点型 11列)
我们使用三种方法读取训练数据集的 Excel,分别为:
第 1 种方法:使用 pandas
库的 read_csv
方法读取(直接指定各字段数据类型,避免自动判断类型消耗性能)
import pandas as pd
df = pd.read_csv(os.path.join(self.path, "training_dataset.csv"), dtype={
"domain_name": str,
"node_name": str,
"avg_fbt_time": int,
"tcp_conntime": int,
"inner_network_rtt": int,
"io_await_avg": int,
"io_await_max": int,
"synack1_ratio": float,
"icmp_lossrate": float,
"icmp_rtt": float,
"ratio_499_5xx": float,
"inner_network_droprate": float,
"cpu_util": float,
"mem_util": float,
"io_util_avg": float,
"io_util_max": float,
"ng_traf_level": float,
"buffer_rate": float
})
读取使用时间:15.8557 秒
第 2 种方法:使用 csv
库的 reader
类读取
from csv import reader
with open(os.path.join(self.path, "training_dataset.csv"), "r", encoding="UTF-8") as file:
data = reader(file)
for row in data:
pass
读取使用时间:17.8881 秒
第 3 种方法:使用 csv
库的 DictReader
类读取
from csv import DictReader
with open(os.path.join(self.path, "training_dataset.csv"), "r", encoding="UTF-8") as file:
data = DictReader(file)
for row in data:
pass
读取使用时间:30.9297 秒
结论:在多线程分段读取文件的情况下,pandas
库的 read_csv
方法的性能略优于 csv
库的 reader
类,显著优于 csv
库的 DictReader
类。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgekiha
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01