gpt4 book ai didi

python - 读取数据到 numpy 数组

转载 作者:行者123 更新时间:2023-11-28 18:15:19 29 4
gpt4 key购买 nike

下面有一个文件

label,feature
0,70 80 90 50 33 58 ...
2,53 56 84 56 25 12 ...
1,32 56 84 89 65 87 ...
...
2,56 48 57 56 99 22 ...
4,25 65 84 54 54 15 ...

我想要的数据可以是

Ytrain = [0,2,1,...2,4]  (int, ndarray)
Xtrain = [[70 80 90 50 33 58...],
[53 56 80 56 25 12...],
...
[25 65 84 54 54 15...]] (int, ndarray)

这是我的代码

data = pd.read_csv('train.csv')
Ytrain = np.array(data.iloc[:, 0]).astype(int)
train = np.array(data.iloc[:, 1:]).astype(str)

Xtrain = []
for i in range(len(train)):
tmp = [int(x) for x in train[i][0].split()]
Xtrain.append(tmp)
Xtrain = np.array(Xtrain)

你有更好的方法吗?

最佳答案

将多个分隔符添加到read_csv使用 header=Noneskiprows=1 表示不读取 csv header :

data = pd.read_csv('train.csv', sep="[,\s+]", header=None, skiprows=1, engine='python')
print (data)
0 1 2 3 4 5 6
0 0 70 80 90 50 33 58
1 2 53 56 84 56 25 12
2 1 32 56 84 89 65 87
3 2 56 48 57 56 99 22
4 4 25 65 84 54 54 15

iloc 的最后选择:

Ytrain = data.iloc[:,0].values
Xtrain = data.iloc[:,1:].values

或者使用splitDataFrame 使用 expand=True:

data = pd.read_csv('train.csv')
Ytrain = data.iloc[:,0].values.astype(int)
Xtrain = data.iloc[:,1].str.split(expand=True).values.astype(int)

print (Ytrain)
[0 2 1 2 4]

print (Xtrain)
[[70 80 90 50 33 58]
[53 56 84 56 25 12]
[32 56 84 89 65 87]
[56 48 57 56 99 22]
[25 65 84 54 54 15]]

关于python - 读取数据到 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48731199/

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