243 字
1 分钟
根据blocks对del库筛选

前言#

TIP

准备工作 del数据库 del

具体代码#

import pandas as pd import itertools import random from tqdm import tqdm def select_rows(data_path, num_samples, output_to_csv=True): """从CSV中根据CodeA和CodeB的随机选择的值,以及CodeC为这些值加197来筛选行。""" data = pd.read_csv(data_path) # 创建排除45和196的范围 excluded_values = {45, 196} available_values = [x for x in range(1, 197) if x not in excluded_values] # 从可用值中随机选择样本 values = random.sample(available_values, num_samples) # 添加197到colC_values列表中 colC_values = values + [197] print(colC_values) combinations = list(itertools.product(values, values, colC_values)) selected_rows = [] with tqdm(total=len(combinations)) as pbar: for combination in combinations: col1_value, col2_value, col3_value = combination selected_row = data[(data['Code_A'] == col1_value) & (data['Code_B'] == col2_value) & (data['Code_C'] == col3_value)] if not selected_row.empty: selected_rows.append(selected_row) pbar.update(1) if selected_rows: all_datasets = pd.concat(selected_rows, ignore_index=True) # 如果存在,重命名列 if 'Exp-B01' in all_datasets.columns: all_datasets.rename(columns={'Exp-B01': 'Pre'}, inplace=True) #if 'OA' in all_datasets.columns: #all_datasets.rename(columns={'OA': 'Post'}, inplace=True) # 输出到CSV文件 if output_to_csv: output_filename = '清洗del数据集_127500.csv' all_datasets.to_csv(output_filename, index=False) print(f"Data saved to {output_filename}") else: print("No rows found matching the criteria.") # 使用50个样本调用函数 select_rows('清洗del数据集.csv', 50, output_to_csv=True)
根据blocks对del库筛选
https://sereinna.github.io/posts/del库的blocks筛选/
作者
serein
发布于
2024-09-18
许可协议
CC BY-NC-SA 4.0