对一个1000行20列的DataFrame随机抽样,抽取30组,每组50个
时间: 2023-07-25 13:10:56 浏览: 35
可以使用`pandas`库中的`sample`方法来完成这个任务。具体的代码如下:
```python
import pandas as pd
# 读取数据,假设文件名为data.csv
df = pd.read_csv('data.csv')
# 随机抽样30次,每次抽取50行
samples = [df.sample(n=50) for _ in range(30)]
```
其中,`df.sample(n=50)`表示从原始数据`df`中随机抽取50行。我们将这个操作重复30次,得到了30个包含50行的DataFrame组成的列表`samples`。
相关问题
对一个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`,这是无放回随机抽样的结果。