Python Pandas: 使用插值法分析肿瘤组织电导率
import numpy as np import pandas as pd
读取数据
df = pd.read_csv("./2023_2_13No1/2023_2_13_12.csv", encoding='utf-8') df = df.iloc[:, :18] df_tumor = df[df['name'] == 'tumor'] df_peritumor = df[df['name'] == 'peritumor'] df['name'] = df['name'] + df['property'] df_tumor_A = df_tumor[df_tumor['property'] == 'A'] df_tumor_B = df_tumor[df_tumor['property'] == 'B'] df_tumor_C = df_tumor[df_tumor['property'] == 'C']
计算saline的中位数
concentration_list = ['saline0.05%', 'saline0.10%', 'saline0.20%', 'saline0.30%', 'saline0.40%', 'saline0.50%'] df_saline_median = pd.DataFrame(columns=['1kHz_mag', '2kHz_mag', '3kHz_mag', '7kHz_mag', '11kHz_mag', '17kHz_mag', '23kHz_mag', '31kHz_mag', '43kHz_mag', '61kHz_mag', '89kHz_mag', '127kHz_mag', '179kHz_mag', '251kHz_mag', '349kHz_mag'])
for i in concentration_list: saline_group = df[df['name'] == i] saline_median = saline_group[['1kHz_mag', '2kHz_mag', '3kHz_mag', '7kHz_mag', '11kHz_mag', '17kHz_mag', '23kHz_mag', '31kHz_mag', '43kHz_mag', '61kHz_mag', '89kHz_mag', '127kHz_mag', '179kHz_mag', '251kHz_mag', '349kHz_mag']].median() df_saline_median.loc[i] = saline_median
按照频率从小到大排列conductivity_list
freq_list = [1, 2, 3, 7, 11, 17, 23, 31, 43, 61, 89, 127, 179, 251, 349] conductivity_list = [5, 200, 1987, 3850, 5650, 7450, 9238, 16000]
对tumor_A进行插值计算
tumor_A_median = df_tumor_A.iloc[:, 2:17].median() tumor_A_conductivity = np.interp(tumor_A_median, df_saline_median.iloc[:, 0:15], conductivity_list)
print('tumor_A_conductivity:', tumor_A_conductivity)
对peritumor进行插值计算
peritumor_median = df_peritumor.iloc[:, 2:17].median() peritumor_conductivity = np.interp(peritumor_median, df_saline_median.iloc[:, 0:15], conductivity_list)
print('peritumor_conductivity:', peritumor_conductivity)
原文地址: https://www.cveoy.top/t/topic/jGbw 著作权归作者所有。请勿转载和采集!