怎么把一个数组拆分为两个啊,如a=1,2,3,4,5,6,7拆分后为a=1,2,7b=3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把一个数组拆分为两个啊,如a=1,2,3,4,5,6,7拆分后为a=1,2,7b=3相关的知识,希望对你有一定的参考价值。

怎么把一个数组拆分为两个啊,如a=1,2,3,4,5,6,7拆分后为a=1,2,7b=3,4,5,6

  既然要把一个数组拆为两个,那总得有个拆分规则吧!你要求什么样的拆分规则呢?
  根据你提供的那两个拆分后的数组可以这样理解,把初始数组的第2、3、4位拿出来作为另一个数组,剩下的继续赋值给原数组。
int[] a = 1,2,3,4,5,6,7;
int[] b = a[2],a[3],a[4];
int[] a = a[0],a[1],a[6]追问

嗯嗯,就是(⊙o⊙)哇

拿出原数组中的连续几个数,给另一个数组,原数组剩余部分赋值给原数组

是用c++写

追答

  c++我了解的不多,不过可以给你提供一个解决的思路:

  你可以遍历取出初始数组中的所有数,并在遍历时对每次的取值进行判断和操作。具体思路如下:

  假设初始数组为a,其中有i个数。

    在遍历的每次取值时,把当前所取到的这个数tempi放在新建数组b的第一个位置

    然后分别对tempi做tempi+1和tempi-1

    再把这个tempi+1和tempi-1分别与遍历时下一次取出的数temp(i+1)做比较,只要有一个等于temp(i+1),则把这个temp(i+1)放入数组b的下一个位置。

    最后再把数组a中的tempi和temp(i+1)都删除掉

    如此遍历下去,就可以分别得到数组a和数组b。

  由于本人对c++不太熟悉,就不把代码给你敲出来了,免得出错误导大家,不过这个思路是肯定没问题的。

追问

谢谢啦,我试试

参考技术A 什么数追问

c++语言,整形数组

追答

不记得了,好好翻书吧

追问

书上没有…

参考技术B 为什么要拆开呢?追答

傻逼,不会就别BB

将数据集拆分为两个非冗余 numpy 数组?

【中文标题】将数据集拆分为两个非冗余 numpy 数组?【英文标题】:Splitting dataset into two non-redundant numpy arrays? 【发布时间】:2019-07-01 01:33:26 【问题描述】:

我有一个 numpy 数组“my_data”。我正在尝试随机拆分此数据集。但是,当我使用以下代码执行此操作时,我得到一个“train”数组和一个“test”数组。训练数组和测试数组在列中有一些行。

training_idx = np.random.randint(my_data.shape[0], size=split_size)
test_idx = np.random.randint(my_data.shape[0], size=len(my_data)-split_size)
train, test = my_data[training_idx,:], my_data[test_idx,:]

我的意图是首先随机找到训练数组,然后在 my_data 中剩下的任何行不在训练数组中,作为测试数组的一部分。

numpy 有没有办法做到这一点? (我避免使用 sklearn 来拆分我的数据)

我在这里参考了这篇文章,以获取我的数据集。 How to split/partition a dataset into training and test datasets for, e.g., cross validation?

如果我按照这篇文章的逻辑进行编码,我最终会得到训练和测试数据集,其中训练和测试中有一些冗余行。我打算制作没有共同行的训练和测试数据集。

【问题讨论】:

尝试随机排列(使用randint)索引,然后将该排列分成两部分。一个用于训练,另一个用于测试。 【参考方案1】:

按照this answer你可以这样做:

train_idx = np.random.randint(my_data.shape[0], size=split_size)    
mask = np.ones_like(my_data, dtype=bool)
mask[train_idx] = False
train, test = my_data[~mask], my_data[mask]

不过,正如 Poojan 建议的那样,一种更自然的方法是对数据的排列进行切片。

permuted = np.random.permutation(my_data)
train, test = permuted[:split_size], permuted[split_size:]

【讨论】:

以上是关于怎么把一个数组拆分为两个啊,如a=1,2,3,4,5,6,7拆分后为a=1,2,7b=3的主要内容,如果未能解决你的问题,请参考以下文章

如何用JavaScript替换数组中间隔多个参数

将一个数组拆分为两个数组,一个为奇数数组,一个为偶数数组

Matlab两个一维数组合并为一个数组?

java中怎么取两个数组中不相同的数据?

c++字符串如何转化为数字?

数组怎么转换成字符串