python 读取csv文件 在每个类别中选取等比例训练样本和测试样本
时间: 2023-12-14 13:36:28 浏览: 205
subsample:从 csv、tsv 或其他基于行的数据文件中随机采样行
可以使用 pandas 库读取CSV文件,并使用 sklearn 库中的 train_test_split 函数来实现等比例划分训练样本和测试样本。下面是一个示例代码:
```python
import pandas as pd
from sklearn.model_selection import train_test_split
# 读取CSV文件
data = pd.read_csv("data.csv")
# 将数据按照类别分组
groups = data.groupby("category")
train_data = pd.DataFrame()
test_data = pd.DataFrame()
# 对每个类别进行等比例划分训练样本和测试样本
for name, group in groups:
train, test = train_test_split(group, test_size=0.2)
train_data = train_data.append(train)
test_data = test_data.append(test)
# 输出划分后的训练集和测试集
print("训练集:")
print(train_data)
print("测试集:")
print(test_data)
```
在上述代码中,我们首先使用 pandas 库读取了一个名为 data.csv 的 CSV 文件,并将数据按照 category 列进行了分组。然后,我们使用 sklearn 库中的 train_test_split 函数对每个类别进行了等比例划分训练样本和测试样本,并将划分后的数据分别存储到 train_data 和 test_data 两个 DataFrame 中。最后,我们输出了划分后的训练集和测试集。
阅读全文