在 Python 中将 CSV 读取为 NumPy 数组
Manav Narula
2023年2月6日
-
使用
numpy.genfromtxt()
函数将 CSV 数据读取到 NumPy 数组 -
使用
pandas
数据框将 CSV 数据读取到 NumPy 数组 -
使用
csv
模块将 CSV 数据读取到 NumPy 数组
本教程将讨论如何从 CSV 文件读取数据并将其存储在 numpy 数组中。
使用 numpy.genfromtxt()
函数将 CSV 数据读取到 NumPy 数组
genfromtxt()
函数通常用于从文本文件加载数据。我们可以使用此函数从 CSV 文件读取数据,并将其存储在 numpy 数组中。该函数有许多可用参数,使更容易以所需的格式加载数据。我们可以使用此函数的不同参数来指定分隔符,处理缺失值,删除指定的字符并指定数据的数据类型。
例如,
from numpy import genfromtxt
data = genfromtxt("sample.csv", delimiter=",", skip_header=1)
print(data)
输出:
[[1. 2. 3.]
[4. 5. 6.]]
由此衍生出许多其他函数,例如 recfromtxt()
和 recfromcsv()
,它们可以执行相同的功能,但具有不同的默认值。
在下面的代码中,我们将使用 recfromcsv()
文件从 CSV 文件中读取数据。
import numpy as np
data = np.recfromcsv("sample.csv", skip_header=0)
print(data)
输出:
[(1, 2, 3) (4, 5, 6)]
请注意,我们不必将定界符指定为逗号,也不必指定其他值来指定标题行。
使用 pandas
数据框将 CSV 数据读取到 NumPy 数组
我们还可以利用 pandas
数据框将 CSV 数据读取到数组中。为此,我们将数据读取到 DataFrame 中,然后使用 pandas
库中的 values()
函数将其转换为 numpy()
数组。
以下代码实现了这一点。
from pandas import read_csv
df = read_csv("sample.csv")
data = df.values
print(data)
输出:
[[1 2 3]
[4 5 6]]
使用 csv
模块将 CSV 数据读取到 NumPy 数组
csv
模块用于有效地将数据读取和写入 CSV 文件。此方法将使用此模块从 CSV 文件读取数据并将其存储在列表中。然后,我们将继续将此列表转换为 numpy 数组。
下面的代码将对此进行解释。
import csv
import numpy as np
with open("sample.csv", "r") as f:
data = list(csv.reader(f, delimiter=";"))
data = np.array(data)
print(data)
输出:
[['1,2,3']
['4,5,6']]
作者: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn