2016-03-02 64 views
1

所以我有一個小問題。我有希望在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是用於齊次對齊的數據。對於更多的奇特計劃,看一下熊貓。 –

回答

0

您也可以嘗試使用熊貓:

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

大熊貓是非常受歡迎的,從數據集的.csv閱讀和操作數據。在我的機器學習任務中,我一直使用它。

1

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

https://stackoverflow.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