gpt4 book ai didi

python - numpy 导入数据的错误形状并分离 y 值

转载 作者:行者123 更新时间:2023-11-30 23:29:02 24 4
gpt4 key购买 nike

我有一个很大的 csv 文件 ~90k 行和 355 列。前 354 列对应于不同单词的存在,显示 1 或 0,最后一列对应于数值。

例如:

table, box, cups, glasses, total
1,0,0,1,30
0,1,1,1,28
1,1,0,1,55

当我使用时:

d = np.recfromcsv('clean.csv', dtype=None, delimiter=',', names=True)
d.shape
# I get: (89460,)

所以我的问题是:

  1. 如何获取二维数组/矩阵?这重要吗?
  2. 如何分隔“总计”列,以便创建火车,交叉验证和测试集并训练模型?

最佳答案

np.recfromcsv 返回一维 record array .

当您有结构化数组时,您可以通过字段标题访问列:

d['total']

返回总计列。

您可以使用整数索引访问行:

d[0]

例如,返回第一行。

<小时/>

如果您希望选择除最后一行之外的所有列,那么您最好使用 2D 纯 NumPy 数组。使用普通 NumPy 数组(而不是结构化数组),您可以使用整数索引选择除最后一行之外的所有行:

您可以使用np.genfromtxt将数据加载到二维数组中:

import numpy as np

d = np.genfromtxt('data', dtype=None, delimiter=',', skiprows=1)
print(d.shape)
# (3, 5)
print(d)
# [[ 1 0 0 1 30]
# [ 0 1 1 1 28]
# [ 1 1 0 1 55]]

这选择最后一列:

print(d[:,-1])
# [30 28 55]

这将选择除最后一列之外的所有内容:

print(d[:,:-1])
# [[1 0 0 1]
# [0 1 1 1]
# [1 1 0 1]]

关于python - numpy 导入数据的错误形状并分离 y 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com