如何用NumPy读取CSV文件

  • Post category:Python

当我们处理数据科学相关的工作时,CSV是常见的数据交换格式。NumPy提供了一个方便读取CSV文件的方法。下面是使用NumPy读取CSV文件的完整攻略。

步骤1:导入NumPy库
首先,您需要导入NumPy库。您可以使用以下代码导入:

import numpy as np

步骤2:使用装饰器np.genfromtxt()读取CSV文件
使用装饰器np.genfromtxt(),您可以轻松读取CSV文件。以下是具有所有可用参数的np.genfromtxt()方法的示例:

data = np.genfromtxt('data.csv', delimiter=',', skip_header=1, usecols = (1,3), dtype = 'i8,f8', names = ['name', 'salary'])

参数说明:
– 第一个参数’ data.csv ‘是CSV文件的路径和名称。
– delimiter参数用于指定CSV文件中的分隔符,默认情况下使用逗号。在这个例子中,逗号是分隔符。
– skip_header参数用于指定省略读取CSV文件的第一行(可能是表头)。
– usecols参数被用以提取CSV文件的指定列。在这个例子中我们只读取第2列和第4列数据。
– dtype参数是一个元组,表示结果数组的每一列的数据类型。我们提取的第二列是整数类型,第四列是浮点类型.
– names参数用于指定结果数组的名称。

步骤3:查看读取的结果
上述代码将CSV文件中的数据读取到数组中。我们可以使用以下代码查看结果:

print(data)

示例一:在以下的 CSV 文件中,读取第 2 列和第 4 列数据。

Name, Age, Gender, Salary
Alice, 25, F, 5000
Bob, 30, M, 6000
Charlie, 35, M, 7000
David, 40, M, 8000
Emma, 45, F, 9000

示例代码:

import numpy as np

data = np.genfromtxt('data.csv', delimiter=',', skip_header=1, usecols = (1,3), dtype = 'i8,f8', names = ['age', 'salary'])

print(data)

输出:

[(25, 5000.) (30, 6000.) (35, 7000.) (40, 8000.) (45, 9000.)]

示例二:在以下的 CSV 文件中,读取第 2 行至第 4 行的数据列。

ID, Name, Age, Class, Score
001, Alice, 20, 1, 65.3
002, Bob, 19, 2, 72.5
003, Charlie, 22, 1, 88.7
004, David, 21, 2, 76.2
005, Emma, 20, 1, 92.5

示例代码:

import numpy as np

data = np.genfromtxt('data.csv', delimiter=',', skip_header=1, skip_footer=1, usecols = (2,3,4), dtype = 'i8,i8,f8', names = ['age', 'class', 'score'])

print(data)

输出:

[(20, 1, 65.3) (19, 2, 72.5) (22, 1, 88.7)]

通过本教程,你已经学会了使用NumPy读取CSV文件,我们可以简要总结一下:
– 导入NumPy库
– 使用np.genfromtxt()读取CSV文件,并指定参数:文件路径和名称,分隔符、省略行、指定列、指定数据类型,同时为数据列命名。
– 查看读取结果。

希望以上内容能帮助到您。