简介
在本实验中,我们将学习如何使用 numpy.genfromtxt
函数导入数据。此函数使我们能够从各种来源读取表格数据并将其转换为 NumPy 数组。我们将探索定义输入、将行拆分为列、选择列、设置数据类型以及调整转换的不同选项。
注意:你可以在
03-io-genfromtxt.ipynb
中编写代码。步骤中省略了一些打印操作,你可以根据需要打印输出。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本实验中,我们将学习如何使用 numpy.genfromtxt
函数导入数据。此函数使我们能够从各种来源读取表格数据并将其转换为 NumPy 数组。我们将探索定义输入、将行拆分为列、选择列、设置数据类型以及调整转换的不同选项。
注意:你可以在
03-io-genfromtxt.ipynb
中编写代码。步骤中省略了一些打印操作,你可以根据需要打印输出。
首先,让我们导入必要的库。我们将使用 numpy
库来创建数组,并使用 io
库中的 io
模块来创建类文件对象。
import numpy as np
from io import StringIO
numpy.genfromtxt
函数要求将数据来源作为唯一的必需参数。它可以是一个字符串、字符串列表、生成器或具有 read
方法的类文件对象。
data = "1, 2, 3\n4, 5, 6"
delimiter
参数用于定义各行应如何拆分为列。默认情况下,numpy.genfromtxt
假定 delimiter=None
,这意味着该行将按空白字符(包括制表符)进行拆分。
np.genfromtxt(StringIO(data), delimiter=",")
usecols
参数用于选择要导入哪些列。它接受一个整数或一个整数序列,这些整数对应于要导入的列的索引。
np.genfromtxt(StringIO(data), usecols=(0, -1))
dtype
参数用于控制字符串如何转换为其他类型。它可以是单个类型、类型序列、逗号分隔的字符串、字典、元组序列、现有的 numpy.dtype
对象,或者为 None
以根据数据本身确定类型。
np.genfromtxt(StringIO(data), dtype=float)
converters
参数允许我们定义转换函数来处理更复杂的转换。它接受一个字典,其中列索引或列名作为键,转换函数作为值。
convertfunc = lambda x: float(x.strip(b"%"))/100.
np.genfromtxt(StringIO(data), converters={1: convertfunc})
missing_values
和 filling_values
参数用于处理缺失数据。missing_values
参数用于识别缺失数据,而 filling_values
参数用于为缺失的条目提供一个值。
np.genfromtxt(StringIO(data), missing_values="N/A", filling_values=0)
numpy.lib.npyio
模块提供了从 numpy.genfromtxt
派生而来的快捷函数。这些函数具有不同的默认值,并返回标准的 NumPy 数组或掩码数组。
from numpy.lib.npyio import recfromtxt
recfromtxt(StringIO(data), delimiter=",")
在本实验中,我们学习了如何使用 numpy.genfromtxt
函数导入数据。我们探讨了定义输入、将行拆分为列、选择列、设置数据类型以及调整转换的不同选项。我们还了解了 numpy.lib.npyio
模块提供的快捷函数。