Мой источник данных изменился, и у меня возникли проблемы с обновлением кода, который создает графики из сгруппированных данных.Я могу успешно построить подмножество данных, но мне нужно добавить условие, которое будет отображать 2 подмножества на одном графике.Есть ли способ, которым я могу структурировать свой for / if / elif, чтобы сделать эту работу?
Это то, что работает
Тем не менее, значения treatment_eye содержат как OD, так и OS иМне нужно отобразить их оба на одном графике: когда OD, мне нужно отобразить значения столбца * _od, а когда OS, мне нужно отобразить значения столбца * _os, чтобы я изменил свой код и получил ошибку значения:
# plot for new data
for subject_group, sub_df in new_df.groupby(by='subject_group'):
if new_df.treated_eye == 'OD':
plt.plot(sub_df['visit_number'], sub_df['white_od'], marker='o', label=subject_group)
elif new_df.treated_eye == 'OS':
plt.plot(sub_df['visit_number'], sub_df['white_os'], marker='o', label=subject_group)
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
# add a normal line at -65
# plt.ylim(ymin=-70, ymax=-30) # add ymax to make both color plots consistent
plt.xticks(range(0, new_od_df['visit_number'].max() + 1 , 1))
plt.xlabel('Visit (Months)')
plt.ylabel('Threshold (dB)')
# add a dashed green line and "normal"
plt.axhline(-65, color="green", linestyle='--', dashes=(5, 10)) #length of 5, space of 10
plt.text(13, -65, 'Normal', va='center', ha="left", bbox=dict(facecolor="w",alpha=0.5))
plt.title('RPGR-001: White FST (Treated Eye)')
plt.tight_layout()
# plt.savefig('output/rpgr_fst_white_teye.png')
ValueError Traceback (последний последний вызов) в () 1 # график для новых данных 2 для subject_group, sub_df в new_df.groupby (by = 'subject_group'): ----> 3if new_df.treated_eye == 'OD': 4 plt.plot (sub_df ['visit_number'], sub_df ['white_od'], marker = 'o', label = subject_group) 5 elif new_df.treated_eye == 'OS':
~ \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ generic.py в ненулевом (self) 1574 повысить ValueError ("Истинное значение{0} является неоднозначным. "1575" Используйте a.empty, a.bool (), a.item (), a.any () или a.all (). "-> 1576 .format (self. )класс . имя )) 15771578 bool = ненулевой
ValueError: Истинное значение Series является неоднозначным.Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().