Skip to main content
 首页 » 编程设计

python之如何在 CSV 文件中随机选择一定数量的行并保留其他行

2025年05月04日12del

假设我在一个 csv 文件中有 1000 行数据,每行有 4 列。

我想随机选择 950 行数据,并分别保留其他 50 行。我将使用 python 进一步处理这两个数据集。

如何以简单的方式做到这一点?

我使用 pandas 按列读取 csv 文件。

请您参考如下方法:

以下应该可以解决问题:

train_file = "training_data_ez.csv"  
train_features = pd.read_csv(train_file, usecols=['var', 'sq', 'sin']) 

pd.DataFrame.sample方法让您从 pd.DataFrame 中随机抽样。默认情况下,这是没有替换的,即我们不会对同一行进行两次采样。

df_950 = train_features.sample(950) 

我们可以通过从原始 DataFrame 中删除 950 行来获得剩余的 50 行。

df_50 = train_features.drop(df_950.index) 

train_test_split如果您需要在随机样本中保持类别平衡,scikit-learn 中的函数是一个替代方案。