我想根据数字
将数据帧分成两部分train = corpus.iloc[:, :10000]
test = corpus.iloc[:, 10000:]
这是我正在使用的代码。
我收到以下错误:
AttributeError: iloc not found
iloc不是python3的一部分吗?是否有其他方法根据要拆分的记录数分割数据?
修改 正如用户@craig所提到的,i loc是pandas,我拥有的数据类型是稀疏矩阵(scipy.sparse.csr.csr_matrix)
答案 0 :(得分: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],也可用。