NumPy numpy.loadtxt() 函数
Suraj Joshi
2023年1月30日
-
numpy.loadtxt()
的语法 -
示例代码: NumPy 使用
numpy.loadtxt()
函数读取txt
文件 -
示例代码:在
numpy.loadtxt()
函数中设置dtype
参数读取txt
文件 -
示例代码:读取
txt
文件时在numpy.loadtxt()
函数中设置delimiter
参数 -
示例代码:在读取
txt
文件时,在numpy.loadtxt()
函数中设置usecols
参数 -
示例代码在读取
txt
文件时在numpy.loadtxt()
函数中设置unpack
参数
Python Numpy numpy.loadtxt()
函数从文本文件中加载数据,并为简单的文本文件提供了快速方法。
numpy.loadtxt()
的语法
numpy.loadtxt(fname,
dtype= < class 'float' > ,
comments='#',
delimiter=None,
converters=None,
skiprows=0,
usecols=None,
unpack=False,
ndmin=0,
encoding='bytes',
max_rows=None)
参数
fname |
要导入的 txt 文件的路径 |
dtype |
结果数组的数据类型 |
comments |
用来表示评论开始的字符或字符列表 |
delimiter |
用于解析 txt 文件内容的定界符 |
converters |
字典将列号映射到一个函数,该函数将把列的字符串解析成所需的值。 |
skiprows |
跳过哪一行 |
usecols |
要读取的列索引 |
unpack |
对返回的数组进行转置,因此可以使用 x, y, z = loadtxt(...) 对参数进行解包。[unpack=True] 。 |
ndim |
返回数组的最小维数 |
encoding |
用于解码输入文件的编码 |
max_rows |
读取 skiprows 行后的最大行数 |
返回值
从 txt
文件中读取的 N 维数组。
示例代码: NumPy 使用 numpy.loadtxt()
函数读取 txt
文件
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
a = np.loadtxt(f)
print("The loaded array is:")
print(a)
输出:
The loaded array is:
[[ 3. 6. 8.]
[12. 9. 1.]
[ 2. 3. 4.]]
它将 txt
文件加载到 NumPy
数组中。
这里,StringIO
的作用就像一个文件对象。
我们也可以提供 file path
作为参数给 np.loadtxt
函数,使用绝对和相对路径。
示例代码:在 numpy.loadtxt()
函数中设置 dtype
参数读取 txt
文件
默认情况下,从文本文件中读取的数组值的数据类型是 float
,我们可以使用 dtype
参数手动设置元素的数据类型。我们可以使用 dtype
参数手动设置元素的数据类型。
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
a = np.loadtxt(f,dtype="int")
print("The loaded array is:")
print(a)
输出:
The loaded array is:
[[ 3 6 8]
[12 9 1]
[ 2 3 4]]
上面的代码将所有从 txt
文件中读取的元素以整数形式加载到数组中。
示例代码:读取 txt
文件时在 numpy.loadtxt()
函数中设置 delimiter
参数
默认情况下,分隔数值的定界符是一个空白符,我们可以使用 delimiter
参数手动设置定界符。
import numpy as np
from io import StringIO
f = StringIO("3, 6, 8 \n12, 9, 1 \n 2, 3, 4")
a = np.loadtxt(f,dtype="int",delimiter=",")
print("The loaded array is:")
print(a)
输出:
The loaded array is:
[[ 3 6 8]
[12 9 1]
[ 2 3 4]]
由于上面 txt
文件的值用 ,
隔开,因此当从 txt 文件读取到数组中时,我们必须使用 ,
作为分隔符来分隔值。
示例代码:在读取 txt
文件时,在 numpy.loadtxt()
函数中设置 usecols
参数
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
a = np.loadtxt(f,dtype="int",usecols =(0, 1))
print("The loaded array is:")
print(a)
输出:
The loaded array is:
[[ 3 6]
[12 9]
[ 2 3]]
usecols
指定从 txt
文件中读取哪些列。
它只从 txt
文件中读取第 1 列和第 2 列到数组中。
示例代码在读取 txt
文件时在 numpy.loadtxt()
函数中设置 unpack
参数
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
(x,y,z) = np.loadtxt(f,dtype="int",unpack=True)
print(x)
print(y)
print(z)
输出:
[ 3 12 2]
[6 9 3]
[8 1 4]
它将数组进行转置,并将转置后的数组行解包到指定的变量中。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn