编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
print(import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

# 数据准备
data = {
    '对接模式': ['5-Hydroxy-7-methoxy-3-(4-hydroxybenzylidene) chroman-4-one with SRC',
                'caffeic acid and EGFR',
                'SRC-Milrinone',
                'EGFR-Milrinone',
                'SRC-Levosimendan',
                'EGFR-Levosimendan'],
    '最低对接分数': [43.36, 17.55, 35.63, 43.24, 78.69, 77.92],
    '最高对接分数': [99.0153, 78.7345, 77.7611, 66.8557, 101.7991, 93.9514]
}

df = pd.DataFrame(data)

# 计算描述性统计量
print("最低对接分数的描述性统计量:")
print(df['最低对接分数'].describe())
print("\n最高对接分数的描述性统计量:")
print(df['最高对接分数'].describe())# 显著性分析
# 使用配对样本t检验
t_stat, p_val = stats.ttest_rel(df['最低对接分数'], df['最高对接分数'])
print(f"\n配对样本t检验结果: t-statistic = {t_stat}, p-value = {p_val}")

# 如果p值小于0.05,拒绝零假设
if p_val < 0.05:
    print("显著性差异存在")
else:
    print("显著性差异不存在")# 可视化
plt.figure(figsize=(10, 6))
sns.boxplot(data=[df['最低对接分数'], df['最高对接分数']], palette='Set3')
plt.xticks([0, 1], ['最低对接分数', '最高对接分数'])
plt.title('对接分数的箱线图')
plt.show()

plt.figure(figsize=(10, 6))
sns.heatmap(df[['最低对接分数', '最高对接分数']].corr(), annot=True, cmap='coolwarm')
plt.title('对接分数的相关性热图')
plt.show())