首页 > 解决方案 > 使用 Table.read_table 比使用 pd.read_csv 有优势吗?

问题描述

到目前为止,Table.read_table 一直让我头疼,因为它不适用于 seaborn 和 matplotlib。然而,这是我的一堂课所教的。

我正在读这本书,它有 pd.read_csv 并且效果很好。我可以做 seaborn、matplotlib 和其他库。

总之,我不知道“Table.read_table”的目的是什么,因为它似乎限制了其他库。

我相信数组也有类似的东西。例如 'array([8, 3, 3])' 和 '([8, 3, 3])' 不是一回事,但是要使用其他函数进行一些数据分析,需要正确选择做完了。似乎有很多变化(我已经提到了两个),我会很感激有关如何正确整理它们的提示,或者它可能只是经验带来的。

例子:

代码1(不起作用):

data = Table.read_table('IndiaStatus.csv').drop('Discharged', 'Discharge Ratio (%)','Total Cases','Active','Deaths')

sns.jointplot(data=data, x="Death Ratio (%)", y="Active Ratio (%)")

在此处输入图像描述

代码2(确实有效):

df = pd.read_csv('IndiaStatus.csv' )

sns.jointplot(data=df, x="Death Ratio (%)", y="Active Ratio (%)")

在此处输入图像描述

标签: pythonpandasseaborn

解决方案


read_table 是用 sep=',' 替换为 sep='\t' 的 read_csv,它们是同一函数的两个薄包装器,因此性能相同。read_excel 使用 xlrd 包将 xls 和 xlsx 文件读入 DataFrame,它不处理 csv 文件。

对于相同的 320 MB CSV 文件(16 MB .xlsx)(i7-7700k,SSD,运行 Anaconda Python 3.5.3,Pandas 0.19.2)

使用标准约定 import pandas as pd

2 秒读取 .csv df = pd.read_csv('foo.csv') (对于 pd.read_table 相同)

15.3 秒读取 .xlsx df = pd.read_excel('foo.xlsx')

10.5 秒写入 .csv df.to_csv('bar.csv', index=False) (对于 .txt 相同)

34.5 秒写入 .xlsx df.to_excel('bar.xlsx', sheet_name='Sheet1', index=False)


推荐阅读