当前位置: 首页 > 后端技术 > Python

5Python初学者数据输入技术

时间:2023-03-26 13:21:04 Python

总结:数据是数据科学家的基础,因此了解加载数据以进行分析的多种方法至关重要。在这里,我们将介绍五种Python数据录入技巧,并提供代码示例供大家参考。数据是数据科学家的基础,因此了解加载数据进行分析的多种方法至关重要。在这里,我们将介绍五种Python数据录入技巧,并提供代码示例供大家参考。作为初学者,您可能只知道使用pandas.read_csv函数读取数据(通常为CSV格式)的一种方法。它是最成熟和最强大的方法之一,但其他方法也很有帮助,有时肯定会派上用场。我要讨论的方法是:手动函数loadtxt函数genfromtxtf函数read_csv函数Pickle我们将用来加载数据的数据集可以在这里找到。它被称为100条销售记录。导入我们将使用Numpy、Pandas和Pickle包,所以导入它们。手动函数这是最困难的,因为您必须设计一个自定义函数来为您加载数据。您必须处理Python的一般归档概念,并使用它来读取.csv文件。让我们对100个销售记录文件执行此操作。嗯,这是什么????代码好像有点复杂!!!让我们逐步分解它,以便您了解发生了什么,并可以应用类似的逻辑来读取您自己的.csv文件。在这里,我创建了一个load_csv函数,它将要读取的文件路径作为参数。我有一个名为data的列表,其中包含我的CSV文件数据和另一个列表col,其中包含我的列名。现在,在手动检查csv后,我知道列名在第一行中,因此在我的第一次迭代中,我必须将第一行的数据存储在col中,将其余行存储在data中。为了检查第一次迭代,我使用了一个名为checkcol的布尔变量,它是False,当第一次迭代为false时,它将第一行的数据存储在col中,然后将checkcol设置为True,所以我们将处理数据列表并将其余值存储在数据列表中。逻辑这里的主要逻辑是我使用Python中的readlines()函数遍历文件。此函数返回包含文件中所有行的列表。读取标题时,它将新行检测为n个字符,即行终止符,因此为了删除它,我使用了str.replace函数。由于这是一个.csv文件,我必须根据逗号分隔内容,所以我将使用string.split("")分别取一个字符串。对于第一次迭代,我将第一行存储为名为col的列名列表。然后我会将所有数据附加到一个名为data的列表中。为了更漂亮地读取数据,我将其返回为数据框格式,因为它比numpy数组或python的列表更容易读取数据框。输出量的优缺点重要的好处是您可以灵活地控制文件的结构,并且可以以您想要的任何格式和方式读取和存储它。您还可以使用自己的逻辑来读取没有标准结构的文件。它的重要缺点是,特别是对于标准类型的文件,编写起来很复杂,因为它们很容易阅读。您必须对需要反复试验的逻辑进行硬编码。仅当文件不是标准格式或您想要灵活性并以库未提供的方式读取文件时才应使用它。Numpy.loadtxt函数这是Python中著名的数值库Numpy中的一个内置函数。加载数据是一个非常简单的功能。这对于读取相同数据类型的数据很有用。当数据比较复杂的时候,用这个函数很难读取,但是当文件比较简单的时候,这个函数就非常强大了。对于单一类型的数据,可以在此处下载虚拟数据集。让我们跳到代码。在这里,我们简单地使用了loadtxt函数,并在传入的分隔符中使用了“,”,因为这是一个CSV文件。现在,如果我们打印df,我们将在我们可以使用的非常漂亮的numpy数组中看到数据。由于数据量大,我们只打印了前5行。优点和缺点使用此功能的一个重要方面是您可以快速将文件中的数据加载到numpy数组中。缺点是您不能有其他数据类型或数据中缺少行。Numpy.genfromtxt()我们将使用一个数据集,即第一个示例中使用的数据集“100SalesRecords.csv”,来演示其中可以包含多种数据类型。让我们跳到代码。为了更清楚地看到它,我们可以在数据帧格式中看到它,即这是什么?哦,它跳过了所有具有字符串数据类型的列。如何处理?只需添加另一个dtype参数并将dtype设置为None,这意味着它必须处理每一列本身的数据类型。不要将整个数据转换为单个数据类型。然后输出比第一个好很多,但是这里的“列”标题是“行”,要使它成为列标题我们必须添加另一个参数,名称,并将其设置为True,这样它就会成为一行作为“列标题”。也就是说,我们可以将其打印为Pandas.read_csv()Pandas是一个非常流行的数据操作库,并且非常常用。read_csv()是非常重要和成熟的函数之一,它可以非常轻松地读取任何.csv文件并帮助我们操作它。让我们对包含100条销售记录的数据集进行操作。此功能的易用性使其非常受欢迎。您可以将它与我们以前的代码进行比较并检查一下。你猜怎么了?我们完了。这实际上是如此简单易用。Pandas.read_csv确实提供了许多其他参数来调整我们的数据集,例如,在我们的convertcsv.csv文件中,我们没有列名,因此我们可以读取它,因为我们可以看到它是在没有标题csv文件的情况下读取的。您可以在此处查看官方文档中的所有其他参数。Pickle如果您的数据不是人类可以理解的良好格式,您可以使用pickle将其保存为二进制格式。然后,您可以使用pickle库轻松地重新加载它。我们将获取一个包含100条销售记录的CSV文件,并首先将其保存为pickle格式,以便我们阅读。这将创建一个新文件test.pkl,其中包含来自Pandas标头的pdDf。现在要用pickle打开它,我们只需要使用pickle.load函数。在这里,我们已经成功地从pandas.DataFrame格式的pickle文件中加载数据。本文分享自华为云社区《Python加载数据的5种不同方式》,原作者:无脑程序员点击关注,第一时间了解华为云最新技术~