Python加载数据的5种不同方式(收藏)


Posted in Python onNovember 13, 2020

数据是数据科学家的基础,因此了解许多加载数据进行分析的方法至关重要。在这里,我们将介绍五种Python数据输入技术,并提供代码示例供您参考。

作为初学者,您可能只知道一种使用p andas.read_csv函数读取数据的方式(通常以CSV格式)。它是最成熟,功能最强大的功能之一,但其他方法很有帮助,有时肯定会派上用场。

我要讨论的方法是:

  • Manual 函数
  • loadtxt 函数
  • genfromtxtf 函数
  • read_csv 函数
  • Pickle

我们将用于加载数据的数据集可以在此处找到 。它被称为100-Sales-Records。

Imports

我们将使用Numpy,Pandas和Pickle软件包,因此将其导入。

Python加载数据的5种不同方式(收藏)

1. Manual Function

这是最困难的,因为您必须设计一个自定义函数,该函数可以为您加载数据。您必须处理Python的常规归档概念,并使用它来读取 .csv 文件。

让我们在100个销售记录文件上执行此操作。

Python加载数据的5种不同方式(收藏)

嗯,这是什么????似乎有点复杂的代码!!!让我们逐步打破它,以便您了解正在发生的事情,并且可以应用类似的逻辑来读取 自己的 .csv文件。

在这里,我创建了一个 load_csv 函数,该函数将要读取的文件的路径作为参数。

我有一个名为data 的列表, 它将具有我的CSV文件数据,而另一个列表 col 将具有我的列名。现在,在手动检查了csv之后,我知道列名在第一行中,因此在我的第一次迭代中,我必须将第一行的数据存储在 col中, 并将其余行存储在 data中。

为了检查第一次迭代,我使用了一个名为checkcol 的布尔变量, 它为False,并且在第一次迭代中为false时,它将第一行的数据存储在 col中 ,然后将checkcol 设置 为True,因此我们将处理 数据列表并将其余值存储在 数据列表中。

逻辑

这里的主要逻辑是,我使用readlines() Python中的函数在文件中进行了迭代 。此函数返回一个列表,其中包含文件中的所有行。

当阅读标题时,它会将新行检测为 \ n 字符,即行终止字符,因此为了删除它,我使用了 str.replace 函数。

由于这是一个 的.csv 文件,所以我必须要根据不同的东西 逗号 ,所以我会各执一个字符串, 用 string.split(“”) 。对于第一次迭代,我将存储第一行,其中包含列名的列表称为 col。然后,我会将所有数据附加到名为data的列表中 。

为了更漂亮地读取数据,我将其作为数据框格式返回,因为与numpy数组或python的列表相比,读取数据框更容易。

输出量

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

利弊

重要的好处是您具有文件结构的所有灵活性和控制权,并且可以以任何想要的格式和方式读取和存储它。

您也可以使用自己的逻辑读取不具有标准结构的文件。

它的重要缺点是,特别是对于标准类型的文件,编写起来很复杂,因为它们很容易读取。您必须对需要反复试验的逻辑进行硬编码。

仅当文件不是标准格式或想要灵活性并且以库无法提供的方式读取文件时,才应使用它。

2. Numpy.loadtxt函数

这是Python中著名的数字库Numpy中的内置函数。加载数据是一个非常简单的功能。这对于读取相同数据类型的数据非常有用。

当数据更复杂时,使用此功能很难读取,但是当文件简单时,此功能确实非常强大。

要获取单一类型的数据,可以下载 此处 虚拟数据集。让我们跳到代码。

Python加载数据的5种不同方式(收藏)

这里,我们简单地使用了在传入的定界符中 作为 ','的 loadtxt 函数 , 因为这是一个CSV文件。

现在,如果我们打印 df,我们将看到可以使用的相当不错的numpy数组中的数据。

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

由于数据量很大,我们仅打印了前5行。

利弊

使用此功能的一个重要方面是您可以将文件中的数据快速加载到numpy数组中。

缺点是您不能有其他数据类型或数据中缺少行。

3. Numpy.genfromtxt()

我们将使用数据集,即第一个示例中使用的数据集“ 100 Sales Records.csv”,以证明其中可以包含多种数据类型。

让我们跳到代码。

Python加载数据的5种不同方式(收藏)

为了更清楚地看到它,我们可以以数据框格式看到它,即

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

这是什么?哦,它已跳过所有具有字符串数据类型的列。怎么处理呢?

只需添加另一个 dtype 参数并将dtype 设置 为None即可,这意味着它必须照顾每一列本身的数据类型。不将整个数据转换为单个dtype。

Python加载数据的5种不同方式(收藏)

然后输出

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

比第一个要好得多,但是这里的“列”标题是“行”,要使其成为列标题,我们必须添加另一个参数,即 名称 ,并将其设置为 True, 这样它将第一行作为“列标题”。

df3 = np.genfromtxt('100 Sales Records.csv', delimiter=',', dtype=None, names=True, encoding='utf-8')

我们可以将其打印为

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

4. Pandas.read_csv()

Pandas是一个非常流行的数据操作库,它非常常用。read_csv()是非常重要且成熟的 功能 之一,它 可以非常轻松地读取任何 .csv 文件并帮助我们进行操作。让我们在100个销售记录的数据集上进行操作。

此功能易于使用,因此非常受欢迎。您可以将其与我们之前的代码进行比较,然后进行检查。

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

你猜怎么着?我们完了。这实际上是如此简单和易于使用。Pandas.read_csv肯定提供了许多其他参数来调整我们的数据集,例如在我们的 convertcsv.csv 文件中,我们没有列名,因此我们可以将其读取为

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

我们可以看到它已经读取了没有标题的 csv 文件。您可以在此处查看官方文档中的所有其他参数 。

5. Pickle

如果您的数据不是人类可以理解的良好格式,则可以使用pickle将其保存为二进制格式。然后,您可以使用pickle库轻松地重新加载它。

我们将获取100个销售记录的CSV文件,并首先将其保存为pickle格式,以便我们可以读取它。

Python加载数据的5种不同方式(收藏)

这将创建一个新文件 test.pkl ,其中包含来自 Pandas 标题的 pdDf 。

现在使用pickle打开它,我们只需要使用 pickle.load 函数。

Python加载数据的5种不同方式(收藏)

Python加载数据的5种不同方式(收藏)

在这里,我们已成功从pandas.DataFrame 格式的pickle文件中加载了数据 。

到此这篇关于Python加载数据的5种不同方式(收藏)的文章就介绍到这了,更多相关Python 加载数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用grappelli为django admin后台添加模板
Nov 18 Python
Python中max函数用法实例分析
Jul 17 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
常见python正则用法的简单实例
Jun 21 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
Python3.6连接Oracle数据库的方法详解
May 18 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
python统计字符的个数代码实例
Feb 07 Python
Python Json数据文件操作原理解析
May 09 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 #Python
python 实现围棋游戏(纯tkinter gui)
Nov 13 #Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 #Python
python+flask编写一个简单的登录接口
Nov 13 #Python
jupyter notebook快速入门及使用详解
Nov 13 #Python
Python中pass的作用与使用教程
Nov 13 #Python
python入门教程之基本算术运算符
Nov 13 #Python
You might like
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
微信支付开发订单查询实例
2016/07/12 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
js实现继承的5种方式
2015/12/01 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
教师研修随笔感言
2014/01/23 职场文书
文明风采获奖感言
2014/02/18 职场文书
企业委托书范本
2014/09/13 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
oracle索引总结
2021/09/25 Oracle
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers