2017-09-24 63 views
0

我想基於一些如何分割基於記錄

train = corpus.iloc[:, :10000] 
test = corpus.iloc[:, 10000:] 

這是一個數據幀劃分成兩個數在Python數據集是我使用的代碼。

我收到以下錯誤爲:

AttributeError: iloc not found 

是ILOC不是python3的一部分嗎?有沒有其他方法根據要分割的記錄數來分割數據?

編輯 作爲用戶@craig提到的,我LOC是熊貓和,我有數據類型爲稀疏矩陣的(scipy.sparse.csr.csr_matrix)

+2

'.iloc'是來自'pandas'模塊的Dataframe的一種方法。你在使用「熊貓」嗎?如果是這樣,如果您顯示[MCVE](https://stackoverflow.com/help/mcve),您將更有可能得到答案。 – Craig

+0

@克雷格 - 哦,好的,那就是我的錯誤。語料庫的類型是 - scipy.sparse.csr.csr_matrix –

+0

@Craig - 是否有可能在python中分割一個矩陣? –

回答

1

無需爲iloc,可以直接使用一排片:

熊貓

import pandas as pd 
df = pd.DataFrame(range(10)) 
df_first_half = df[:5] 
df_second_half = df[5:] 

SciPy的

import numpy as np 
from scipy.sparse import csr_matrix 
x = csr_matrix((10, 3), dtype=np.int8) 
x_first_half = x[:5].toarray() 
x_second_half = x[5:].toarray() 

如果你不熟悉的[5:]符號,請參閱:https://scipy-cookbook.readthedocs.io/items/Indexing.html。簡而言之,這是一個一維的片(行)。多維切片,例如[5 :,:1],也是可用的。

+0

非常感謝您的回答。我只注意到它不是一個熊貓數據框。但它是一個scipy.sparse.csr.csr_matrix。是否可以拆分這種數據類型的數據? –

+0

非常感謝您的回答。我只注意到它不是一個熊貓數據框。但它是一個scipy.sparse.csr.csr_matrix。是否可以拆分這種數據類型的數據? –

+0

@rmharrision - 非常感謝。它工作。感謝您提供鏈接 –