Используйте X из for-l oop как часть имени переменной (Pythnon) - PullRequest
0 голосов
/ 02 мая 2020

У меня есть проблема, которая может быть очевидна для Pythonist, но я просто не могу ее решить.

Коротко:

Я хочу использовать x из for x in my_data_header как часть имени моей переменной. Например, вместо жесткого кодирования my_data.selected_column используйте my_data.x до l oop через все столбцы.

Дольше:

Я хочу сделать коробочный график из научных данных c, импортированных из электронной таблицы. В одной колонке указаны обозначения процедур, по которым я обрезаю набор данных. Другие измерения, из которых я хочу нарисовать коробочные графики. Мне нужно l oop через измерительные столбцы и экспортировать коробочные графики. Таким образом, x для l oop должен использоваться в: * выборе столбца (в каждой обработке), названии boxplot, названии файла экспорта .png, ... Я мог бы выполнять шаги отдельно, но не мог составить l oop. Каков рекомендуемый подход для циклического прохождения по столбцам электронной таблицы со сложной задачей, когда вам нужно обращаться к заголовкам столбцов? (Я дополню информацию, если необходимо.) Я пытаюсь переключиться с RStudio / Markdown / Knit на Python. Заранее спасибо!


1 Ответ

0 голосов
/ 08 мая 2020

Это была проблема pd.DataFrame: мой ранее использовавшийся метод date.read был импортирован как несовместимый с pandas. Я прошёл мимо моего рабочего кода ниже, если кто-то посчитает его полезным. Если SO сообщество считает это неуместным, просто удалите все вместе.

`import numpy as np`
`import pandas as pd
`import seaborn as sns

`data = pd.read_excel('/media/Data/my_file.xlsx', 0)`
`h=data.columns #read headers line`
`d = pd.DataFrame(data) 
`print(type(d)) #check that is <class 'pandas.core.frame.DataFrame'>`
`for x in h:`
`    yy=d[x] #forreference to column`
`    bp = sns.boxplot(x='Column_with_treatments', y=yy, data=data)  #make graphs`
`    fig = bp.get_figure()  #put created graph in to obeject fig`
`    nn=yy.name+'_name_you_want.png' #crate file name string`
`    print(nn) # it print in log the column name of present graph`
`    fig.savefig(nn) #save graph image`
`    #plt.show() # it would show each image, but you need to close it to continue`
`    plt.clf() #clear the present graph from memory`
...