[英]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.