首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据帧拆分成10等份,在循环中一次挑选一份后合并9份

将数据帧拆分成10等份,在循环中一次挑选一份后合并9份
EN

Stack Overflow用户
提问于 2015-04-02 11:10:01
回答 5查看 4.6K关注 0票数 2

我需要将数据帧分成10个部分,然后使用其中一个部分作为测试集,剩下的9个部分(合并后用作训练集),我得到了以下代码,我可以在其中拆分数据集,并在选择其中一个后尝试合并剩余的集。第一次迭代进行得很好,但在第二次迭代中出现了以下错误。

代码语言:javascript
复制
df = pd.DataFrame(np.random.randn(10, 4), index=list(xrange(10)))

for x in range(3):
    dfList = np.array_split(df, 3)
    testdf = dfList[x]
    dfList.remove(dfList[x])
    print testdf
    traindf = pd.concat(dfList)
    print traindf
    print "================================================"

EN

回答 5

Stack Overflow用户

发布于 2015-04-02 22:14:07

我不认为你必须将数据帧拆分成10个,而是2个。我使用以下代码来拆分训练集和验证集的数据帧:

test_index = np.random.choice(df.index,int(len(df.index)/10),replace=False)

test_df = df.loctest_index

train_df = df.loc~df.index.isin(test_index)

票数 2
EN

Stack Overflow用户

发布于 2015-04-02 11:27:11

好吧,我是这样让它工作的:

代码语言:javascript
复制
df = pd.DataFrame(np.random.randn(10, 4), index=list(xrange(10)))

dfList = np.array_split(df, 3)
for x in range(3):
    trainList = []
    for y in range(3):
        if y == x :
            testdf = dfList[y]
        else:
            trainList.append(dfList[y])
    traindf = pd.concat(trainList)
    print testdf
    print traindf
    print "================================================"

但更好的方法是受欢迎的。

票数 0
EN

Stack Overflow用户

发布于 2015-04-03 05:24:39

您可以使用numpy.random中的permutation函数

代码语言:javascript
复制
import numpy as np
import pandas as pd
import math as mt
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
df = pd.DataFrame({'a': l, 'b': l})

对数据帧索引进行混洗

代码语言:javascript
复制
shuffled_idx = np.random.permutation(df.index)    

将shuffled_index划分为N个相等的(Ish)部分

在本例中,假设N=4

代码语言:javascript
复制
N = 4
n = len(shuffled_idx) / N
parts = []
for j in range(N):
    parts.append(shuffled_idx[mt.ceil(j*n): mt.ceil(j*n+n)])

# to show each shuffled part of the data frame
for k in parts:
    print(df.iloc[k])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29404377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档