将文本文件导入Numpy数组中
Numpy是 “Numerical Python “的首字母缩写。它是Python中支持n维数组的一个库。但是你有没有想过从文本文件加载数据到NumPy。别担心,我们将在这篇文章中讨论这个问题。为了将文本文件导入Numpy数组,我们在Numpy中有两个函数。
- numpy.loadtxt( ) – 用于加载文本文件数据
- numpy.genfromtxt( ) – 用于从文本文件加载数据,缺失值按定义处理。
注意:当没有数据丢失时,numpy.loadtxt( )与numpy.genfromtxt( )是等价函数。
方法1: numpy.loadtxt()。
语法 :
numpy.loadtxt(fname, dtype = float, comments=’#’, delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding=’bytes’, max_rows=None, *, like= None)
numpy.loadtxt( )的默认数据类型(type)参数是float。
实例1:将文本文件导入Numpy数组中
本例中考虑了以下’example1.txt’文本文件。
import numpy as np
# Text file data converted to integer data type
File_data = np.loadtxt("example1.txt", dtype=int)
print(File_data)
输出 :
[[ 1 2]
[ 3 4]
[ 5 6]
[ 7 8]
[ 9 10]]
示例2:通过跳过第一行将文本文件导入NumPy数组中
import numpy as np
# skipping first row
# converting file data to string
data = np.loadtxt("example2.txt", skiprows=1, dtype='str')
print(data)
输出 :
[['2' 'Bunty']
['3' 'Tinku']
['4' 'Rina']]
示例3:只将文本文件的第一列(名称)导入numpy数组中。
NumPy数组的索引从0开始。因此,文本文件中的Roll列是第0列,Names列是第1列,Marks是文本文件’example3.txt’中的第2列。
import numpy as np
# only column1 data is imported into numpy
# array from text file
data = np.loadtxt("example3.txt", usecols=1, skiprows=1, dtype='str')
for each in data:
print(each)
输出 :
Ankit
Bunty
Tinku
Rina
Rajesh
方法2:numpy.genfromtxt()
语法 :
numpy.genfromtxt(fname, dtype=float, comments=’#’, delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None, names=None,excludelist=None, deletechars=” !#$%&'()*+, -./:;<=>?@[\\\\]^{|}~”, replace_space=’_’, autostrip=False, case_sensitive=True, defaultfmt=’f%i’, unpack=None, usemask=False, loose=True, invalid_raise=True, max_rows=None, encoding=’bytes’, *, like=None)
除了numpy.genfromtxt( )中的fname(文件名),其他参数都是可选的。
示例 1:
import numpy as np
Data = np.genfromtxt("example4.txt", dtype=str,
encoding=None, delimiter=",")
print(Data)
输出 :
[['a' 'b' 'c' 'd']
['e' 'f' 'g' 'h']]
示例2:通过跳过最后一行将文本文件导入numpy数组中
import numpy as np
# skipping last line in the file
Data = np.genfromtxt("example5.txt", dtype=str,
encoding=None, skip_footer=1)
print(Data)
输出 :
[['This' 'is' 'GeeksForGeeks' 'Website']
['How' 'are' 'You' 'Geeks?']
['Geeks' 'for' 'Geeks' 'GFG']]