对一个1000行20列的DataFrame随机抽样,抽取30组,每组50个
时间: 2023-07-25 18:06:40 浏览: 90
你可以使用`pandas`库中的`sample`函数来实现这个功能。下面是一个示例代码:
```python
import pandas as pd
# 创建一个1000行20列的DataFrame
df = pd.DataFrame(data={'col{}'.format(i): range(1000) for i in range(20)})
# 抽取30组,每组50个
sample_size = 50
num_samples = 30
for i in range(num_samples):
sample = df.sample(n=sample_size)
# 处理你的样本数据
print('Sample {}:\n{}'.format(i+1, sample))
```
在这个示例代码中,我们首先使用`pandas`库创建了一个1000行20列的DataFrame。然后,我们使用`sample`函数抽取了30组样本,每组50个。在抽取样本后,你可以对样本数据进行处理。
相关问题
对一个1000行20列的DataFrame随机抽样,抽取30组,每组50个,输出第11组的数据
你可以使用pandas的sample方法来进行抽样。以下是示例代码:
``` python
import pandas as pd
# 读取数据
df = pd.read_csv('your_data.csv')
# 抽样
samples = [df.sample(n=50) for i in range(30)]
# 输出第11组数据
print(samples[10])
```
在这个示例中,我们使用了pandas的read_csv方法来读取数据。然后,我们使用sample方法对DataFrame进行抽样,并将每个样本存储在一个list中。最后,我们输出第11组数据,即`samples[10]`。
对一个1000行20列的DataFrame进行无放回随机抽样,抽取30组,每组50个
可以使用`pandas`库中的`sample`方法,并设置`replace=False`来实现无放回抽样。具体的代码如下:
```python
import pandas as pd
# 读取数据,假设文件名为data.csv
df = pd.read_csv('data.csv')
# 随机抽样30次,每次抽取50行
samples = [df.sample(n=50, replace=False) for _ in range(30)]
```
与上一个问题类似,我们将`df.sample(n=50, replace=False)`重复30次,得到了30个包含50行的DataFrame组成的列表`samples`,这是无放回随机抽样的结果。
阅读全文