从一个数组中随机选取20个10维的数据python
时间: 2024-01-04 07:04:15 浏览: 163
可以使用Python中的random模块中的sample函数来实现这个操作。具体代码如下:
```python
import random
import numpy as np
arr = np.random.rand(100, 10) # 生成100行10列的随机数组
random_data = random.sample(list(arr), 20) # 在数组中随机选取20个数据
print(random_data) # 输出随机选取的数据
```
这段代码中,我们使用numpy的random模块生成一个大小为100x10的随机数组,并使用random模块中的sample函数,从数组中随机选取20个数据。最后,我们将选取到的20个数据输出到控制台中。
相关问题
从一个数组中随机选取20个10维的数据python,并且获得对应的索引
你好,可以使用Python中的random.sample函数来随机选取某个数组中的项。这个函数需要输入两个参数,第一个参数为要从中随机选取的数组,第二个参数为要随机选取的数组项的数量。具体实现如下:
```python
import random
data = [[random.randint(0,9) for i in range(10)] for j in range(50)]
# 生成一个 50x10 的二维数组,每个元素为 0-9 的随机数
selected_indices = random.sample(range(len(data)), 20)
# 在 data 列表中选取20个随机索引
selected_items = [data[index] for index in selected_indices]
# 获取选中项的数据
print(selected_items)
```
以上代码将随机选取50个10位数据,随后选出其中20个来。你可以根据实际需要,将`data`列表换成你自己的列表。
python从多条数据中随机选取一部分数据
在Python中,你可以使用random模块来从多条数据中随机选择一部分。这里有几个常用的方法:
1. **列表切片**:如果你的数据存储在一个列表里,可以使用切片操作`random.sample()`,它会返回一个新的列表,包含从原列表中随机选择的指定数量的元素,而不会改变原始列表。
```python
import random
data = [item1, item2, ..., itemN] # 假设这是你的数据列表
sample_size = 5 # 需要选取的样本数
selected_data = random.sample(data, sample_size)
```
2. **numpy库**:如果你的数据量非常大,可以考虑使用numpy库的`np.random.choice()`函数,它可以处理大型数组。
```python
import numpy as np
data_array = np.array(data)
selected_indices = np.random.choice(len(data_array), sample_size, replace=False) # replace=False表示不重复抽取
selected_data = data_array[selected_indices]
```
3. **pandas库**:对于数据结构更复杂的情况,如DataFrame,pandas的`sample()`函数也很方便。
```python
import pandas as pd
df = pd.DataFrame(data) # 假设data是一个DataFrame
selected_rows = df.sample(n=sample_size)
selected_data = selected_rows.values.tolist() # 如果需要转化为列表
```
以上就是从Python列表、数组或DataFrame中随机选取部分数据的基本方法。
阅读全文