如何将.csv文件转换为不同类型的numpy数组

问题描述:

所以我有一个小问题。我有希望在numpy的阵列变换,所以我发现这个一个.csv矩阵: np.genfromtxt(“/用户/用户名/文件/ fichieretudebis.csv”,分隔符=“;”)如何将.csv文件转换为不同类型的numpy数组

此事是我的.csv矩阵包含数字和字符串,我需要他们两个出现在我的数组(但我希望他们保持他们的类型) 我试图在一个str矩阵(用dtype = str)转换矩阵,但我无法将数字转换回浮点型。 有人知道该怎么做吗? THX

更多的解释:

我的.csv文件是这样enter image description here

我需要使用这个文件,以创建树(使用sklearn和随机森林算法)

这是我目前写的 enter image description here

(文件名为ResultatBis和Previsionbis有同样的问题)。

我不知道如何创建一个数组,它将被sklearn识别而不使用numpylibrary,但是我需要我的矩阵保持完全一样。

告诉我,如果这是足够的解释和thx为您的未来帮助!

+0

numpy是用于齐次对齐的数据。对于更多的奇特计划,看一下熊猫。 –

您也可以尝试使用熊猫:

import pandas as pd 
prediction = pd.read_csv('/Users/username/Documents/fichieretudebis.csv', delimiter= ';') 

大熊猫是非常受欢迎的,从数据集的.csv阅读和操作数据。在我的机器学习任务中,我一直使用它。

np.genfromtxt('/Users/username/Documents/fichieretudebis.csv', delimiter= ';',dtype=None) 

https://*.com/a/15481761/1461850后)

+0

Thx!它会帮助我,但是如何在所有字符串元素前骑上一个b。 [(44,75007,0,0,b'gmail')(31,75018,13,1,0,b'gmail') (25,75001,11,1,1,b'gmail') (11,75019,4,1,0,b'gmail')]这是我得到的输出类型 –

+0

'b'只是Python3指示它从文件中读取字节(ASCII)字符串的方式。 Py3的默认字符串类型是“unicode”。看看'dtype'。对于这个领域,它可能是“ hpaulj