帮我用python语言写一个程序能够实现以下功能:1 读取文件夹中的所有csv文件;2 分别筛选每个csv文件中name为tumor和property为A、B、C、D、E、F、G、H的列并计算每一列的中位数;3 将每个文件输出的值保存在读取的文件夹内。
以下是一个可能的程序,你需要根据实际情况进行修改和调整:
import os
import pandas as pd
# 读取文件夹中的所有csv文件
folder_path = 'path/to/folder'
csv_files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]
# 遍历每个csv文件
for csv_file in csv_files:
file_path = os.path.join(folder_path, csv_file)
df = pd.read_csv(file_path)
# 筛选出符合条件的列并计算中位数
selected_cols = ['tumor', 'property_A', 'property_B', 'property_C', 'property_D', 'property_E', 'property_F', 'property_G', 'property_H']
selected_df = df[selected_cols]
medians = selected_df.median()
# 将中位数保存到文件中
output_file = os.path.join(folder_path, f'{csv_file}_medians.txt')
with open(output_file, 'w') as f:
for col, median in medians.items():
f.write(f'{col}: {median}\n')
这个程序假设每个csv文件都有名为'tumor'和'property_A'至'H'的列,如果实际情况不符,你需要根据实际情况进行修改。程序将每个文件的中位数保存在一个名为'{csv_file}_medians.txt'的文件中,也可以根据需要进行修改
原文地址: https://www.cveoy.top/t/topic/cU3J 著作权归作者所有。请勿转载和采集!