如何根据记录数在python中拆分数据集

时间:2017-09-24 01:43:18

标签: python python-3.x numpy

我想根据数字

将数据帧分成两部分
train = corpus.iloc[:, :10000]
test = corpus.iloc[:, 10000:]

这是我正在使用的代码。

我收到以下错误:

 AttributeError: iloc not found

iloc不是python3的一部分吗?是否有其他方法根据要拆分的记录数分割数据?

修改 正如用户@craig所提到的,i loc是pandas,我拥有的数据类型是稀疏矩阵(scipy.sparse.csr.csr_matrix)

1 个答案:

答案 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],也可用。