Python各方法读取csv性能比较
创始人
2024-03-17 02:39:20
0

以 “阿里天池 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 类。

相关内容

热门资讯

专业文章丨跨境模具纠纷高效和解... 【珠海律师、珠海法律咨询、珠海律师事务所、京师律所、京师珠海律所】 (本文转载自北京市京师律师事务所...
全总等三部门联合发布2025年... 新华社北京12月25日电(记者樊曦、冯家顺)记者12月25日从全国总工会了解到,全国总工会与最高人民...
对“问题法规”要及时纠正 从事网约车经营要求车辆购置总价不得低于12万元、残疾人机动轮椅车登记需有本市常住户籍……日前提请全国...
专业文章丨相对不起诉:一起交通... 【珠海律师、珠海法律咨询、珠海律师事务所、京师律所、京师珠海律所】 (本文转载自北京市京师郑州律师事...
巡回审判进商场 两起纠纷就地解 央广网长春12月26日消息(记者舒震)“真没想到法官能把法庭‘搬’到商场里来,更没想到当庭就把我们的...
专业文章丨赠与车辆未交付 可以... 【珠海律师、珠海法律咨询、珠海律师事务所、京师律所、京师珠海律所】 (本文转载自北京市京师合肥律师事...
广西重拳打击制售假劣农资犯罪 ... 中新网南宁12月26日电 (韦小婷)广西壮族自治区农业农村厅25日介绍,今年开春以来,该厅在广西开展...
政策面前瞻:多元工具下的宽松红... 我们来聊聊今年政策的整体变化。感受特别明显的是,今年政策利率的锚发生了一些切换,包括货币政策投放工具...
政策力挺消费!这波逢低布局机会... 板块轮动已经成为A股常态。被看作“长坡厚雪”的消费板块,已经走过了一段漫长的调整路,估值也跌回了历史...