繁体   English   中英

绘制临床试验的时间序列

[英]Plotting of time-series of clinical trials

我有来自临床试验研究的数据,如下所示:

subject_ID Trial_ID MEASUREMENT_1 MEASUREMENT_2 MEASUREMENT_3... MEASUREMENT_101
1             1         0.13       0.12          0.09              0.23
1             2         0.11       0.13          0.089             0.2 

我如何将 plot 这个数据作为一个时间序列,在一个 plot 中对一个受试者进行多次试验?

我想使用 matplotlib 和 seaborn 但任何其他库也可以。

提前致谢

推荐你简单地使用 Pandas 库,并使用 pandas.plot() 一个一个循环遍历 subject_ID

import pandas as pd
my_df = pd.read_csv("clinical_trial_study.csv")
subjects = list(set(list(my_df["Subject_ID"])))
for i in subjects:
    temp_df = my_df[my_df["Subject_ID"] == i]]
    #organise your data however you want here - likely using groupby#
    temp_df.plot()
# wide to long form
df2 = df.melt(id_vars=['subject_ID','Trial_ID'],
              var_name='measurement',value_name='value')

# extract numbers from measurements so they will sort correctly on plot
df2['measurement'] = df2['measurement'].str.extract('(\d+)').astype(int)

# get Seaborn to properly interpret for hue keyword argument
df2['Trial_ID'] = df2['Trial_ID'].astype('category')

sns.lineplot(x='measurement',y='value',hue='Trial_ID',data=df2) 

结果:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM