首页 > 解决方案 > 如何创建一个 for 循环以从数据框中随机选择列

问题描述

如何创建一个 for 循环以从数据框中随机选择列,并在下一次迭代中选择 python 中的其他列。

标签: pythonpandasnumpy

解决方案


首先从 dataframe 中提取列列表:

cols = df.columns
from random import randint
index1 = randint(0,len(cols)-1)
index2 = randint(index1,len(cols)-1)
sublist1 = cols[index1:index2]

import numpy as np
sublist2 = np.setdiff1d(cols,sublist1)

另一种方法是使用random.sample()并提供子列表的长度。例如 :

col = ['a','b','c','d','e','f','g']
sub_col = random.sample(col,4)
['g', 'f', 'a', 'c']
sub_col2 =list(np.setdiff1d(col,sub_col))
['b', 'd', 'e']

现在您可以遍历两个不同的列列表,它们没有任何共同的元素。


推荐阅读