以下是一个使用Python编写的程序,可以实现读取文件夹中的所有CSV文件,筛选特定列并计算每列的中位数,并将结果保存到新的CSV文件:

import os
import pandas as pd

# 读取文件夹中的所有csv文件
folder_path = './csv_files/'
csv_files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]

# 定义需要筛选的列名
column_names = ['tumor', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']

# 遍历每个csv文件并计算中位数
for file_name in csv_files:
    file_path = os.path.join(folder_path, file_name)
    df = pd.read_csv(file_path)
    selected_columns = df[column_names]
    medians = selected_columns.median()
    
    # 保存中位数到文件
    output_file_name = os.path.splitext(file_name)[0] + '_medians.csv'
    output_file_path = os.path.join(folder_path, output_file_name)
    medians.to_csv(output_file_path, index=False)

解释:

  1. 使用os.listdir函数列出文件夹中所有文件,然后用列表推导式筛选出所有以.csv结尾的文件。
  2. 定义一个需要筛选的列名列表,然后使用pandas库的read_csv函数读取每个csv文件,并使用列名列表选择需要的列。使用median函数计算每一列的中位数。
  3. 构造输出文件名,使用to_csv函数将中位数保存到文件中。注意index=False参数表示不保存行索引。
Python CSV 文件中位数计算程序

原文地址: https://www.cveoy.top/t/topic/ki8t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录