请利用Python对csv文件中五个类别分别采取相同的个数作为训练集和测试集
时间: 2024-01-28 16:05:10 浏览: 68
要对CSV文件中的五个类别采取相同数量的样本作为训练集和测试集,可以按照以下步骤进行操作:
```python
import pandas as pd
from sklearn.model_selection import train_test_split
# 1. 读取CSV文件
data = pd.read_csv('data.csv')
# 2. 分割数据集
train_data = pd.DataFrame() # 创建空的训练集DataFrame
test_data = pd.DataFrame() # 创建空的测试集DataFrame
# 针对每个类别分别进行数据分割
for category in data['label'].unique():
category_data = data[data['label'] == category] # 根据类别筛选数据
# 划分训练集和测试集
train, test = train_test_split(category_data, test_size=0.2, random_state=42)
# 将划分的数据添加到训练集和测试集中
train_data = pd.concat([train_data, train])
test_data = pd.concat([test_data, test])
# 3. 保存训练集和测试集到CSV文件
train_data.to_csv('train_data.csv', index=False)
test_data.to_csv('test_data.csv', index=False)
```
在这个示例中,我们假设CSV文件中有两列数据,一列是文本内容,另一列是类别标签(label)。我们首先读取CSV文件,然后使用`train_test_split`函数对每个类别进行数据分割,指定测试集占比为20%。最后,我们将分割后的训练集和测试集保存到两个独立的CSV文件中。
请注意,你需要将示例中的`data.csv`替换为你自己的数据集文件路径,并根据实际情况进行调整和优化。
阅读全文