Как перебрать фрейм данных для построения графика с использованием (строки, столбца) указанных значений в Python - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь перебрать строки в кадре данных для построения определенных значений, используя такой фрейм данных (с именем autom)

  nombre  d7Li  erd7Li  d41K  erd41K  d87Rb  erd87Rb symb       color
qw      a     1     0.5     0     0.5      1      0.5    o           b
dr      a     2     0.4     9     0.4      2      0.4    <           g
ft      a     3     0.3     8     0.3      3      0.3    >           r
gy      a     4     0.5     7     0.5      4      0.5    v       color
hj      a     5     0.4     6     0.4      5      0.4    ^           m
kl      a     6     0.3     5     0.3      6      0.3    p           y
lp      a     7     0.5     4     0.5      7      0.5    s        peru
zx      a     8     0.4     3     0.4      8      0.4    x       olive
dc      a     9     0.3     2     0.3      9      0.3    o   cadetblue
fv      a     0     0.5     1     0.5      0      0.5    <  darkorchid
bg      a     1     0.4     2     0.4      1      0.4    >      indigo
hn      a     2     0.3     3     0.3      2      0.3    v        peru
mj      a     3     0.5     4     0.5      3      0.5    ^       olive
qz      a     4     0.4     5     0.4      4      0.4    p           b
wx      a     5     0.3     6     0.3      5      0.3    s           g
rv      a     6     0.2     7     0.2      6      0.2    x           r

Я попробовал этот подход, но не могу получить доступ к значениям в словаряхдля построения

для строки в autom.itertuples():

taco = row._asdict()
print(taco)

Я ожидаю, что вывод словарей будет доступен для чтения по имени словаря и ключам

1 Ответ

0 голосов
/ 25 июня 2019

Решено этим подходом

fig = plt.figure(figsize=[20,12])

fig, axs = plt.subplots(2, 2, sharex='col', sharey='row',gridspec_kw={'hspace': 0, 'wspace': 0}) 

#erase extra
fig.delaxes(axs[1][1])
#rb Li
axs[0,0].axis(xmin=autom['7Li'].min()-2*autom['er7Li'].max(), xmax=autom['7Li'].max()+2*autom['er7Li'].max())
axs[0,0].axis(ymin=autom['87Rb'].min()-2*autom['er87Rb'].max(), ymax=autom['87Rb'].max()+2*autom['er87Rb'].max())


for index in autom.index:


   axs[0, 0].errorbar(autom.at[index,'7Li'],autom.at[index,'87Rb'], xerr=autom.at[index,'er7Li'], yerr=autom.at[index,'er87Rb'], 
   marker=autom.at[index,'symb'], mec='black',  c=autom.at[index,'colorea'], label=autom.at[index,'nombre'])
...