首页 > 解决方案 > Python中没有列和行信息

问题描述

train_test_split
我在不使用My Function的情况下将数据拆分为测试集和训练集:

def split(X, y):
    arr_rand = np.random.rand(X.shape[0])
    split = arr_rand < np.percentile(arr_rand, 75)
    X_train = X[split]
    y_train = y[split]
    X_test =  X[~split]
    y_test = y[~split]

    #print (len(X_Train)), (len(y_Train)), (len(X_Test)), (len(y_Test))
    return X_train, y_train, X_test, y_test

我的问题是,当我输出时,X_train我收到它有 76 行 x 8 列的信息。
但是,在打印 X_test此信息时丢失了。这就是它的样子。我的 df 是一个 csv 文件: 在此处输入图像描述

我需要将它拆分为我用这种方法所做的 X,y 标签:
X, y = df.iloc[:,0:8], df.iloc[:,8:9]
后来 X_train, y_train, X_test, y_test = split(X,y)

这是为什么缺少形状信息的输出?

结果:在此处输入图像描述

标签: pythonpandasdataframe

解决方案


当所有行都显示在结果单元格中时(在您的示例中,X_test 只有 26 行),不显示形状信息。默认情况下,显示的最大行数为 60(除非您更改pandas.options.display.max_rows),因此如果X_test少于 60 行,则不显示形状信息。

试着X_test.shape看形状。


推荐阅读