madhavt
madhavt

Reputation: 79

float object has no attribute __getitem__ [Looked elsewhere but haven't been able to find anything applicable]

Here is the data frame i'm working with:

 patient_id   marker_1    marker_2  subtype  patient_age patient_gender
0        619681  21.640523  144.001572      0.0            3         female
1        619711  13.787380  162.408932      0.0           15         female
2        619595  22.675580  130.227221      0.0            6         female
3        619990  13.500884  138.486428      0.0           17           male
4        619157   2.967811  144.105985      0.0            6         female
5        619320   5.440436  154.542735      0.0            9         female
6        619663  11.610377  141.216750      0.0            7         female
7        619910   8.438632  143.336743      0.0            5         female
8        619199  18.940791  137.948417      0.0            7           male
9        619430   7.130677  131.459043      0.0           17         female
10       619766 -21.529898  146.536186      0.0           17         female
11       619018  12.644362  132.578350      0.0           12         female
12       619864  26.697546  125.456343      0.0            4           male
13       619273   4.457585  138.128162      0.0            8         female
14       619846  19.327792  154.693588      0.0           12           male
15       619487   5.549474  143.781625      0.0            8           male
16       619311  -4.877857  120.192035      0.0            7         female
17       619804   0.520879  141.563490      0.0           12         female
18       619331  16.302907  152.023798      0.0           16         female
19       619880   0.126732  136.976972      0.0           15           male
20       619428  -6.485530  125.799821      0.0            4         female
21       619554 -13.062702  159.507754      0.0            6           male
22       619072  -1.096522  135.619257      0.0            6         female
23       619095  -8.527954  147.774904      0.0            6           male
24       619706 -12.138978  137.872597      0.0           14           male
25       619708  -4.954666  143.869025      0.0            7           male
26       619693  -1.108051  128.193678      0.0           13           male
27       619975   3.718178  144.283319      0.0            7         female
28       619289   4.665172  143.024719      0.0            9           male
29       619911  -2.343221  136.372588      0.0            7         female
..          ...        ...         ...      ...          ...           

Now, I'm calculating basic statistics of the entire data frame and plan to extract specific values later on

#mean, median, sd of subset data
mean_children = np.mean(children)
med_children = np.median(children)
sd_children = np.std(children)

children_mark1 = [mean_children['marker_1'], med_children['marker_1'], sd_children['marker_1']]
children_mark2 = [mean_children['marker_2'], med_children['marker_2'], sd_children['marker_2']]
children_age   = [mean_children['patient_age'], med_children['patient_age'], sd_children['patient_age']]

This is where I get the error. When I print out mean_children['marker_2'] I get 121.396907126 so i'm not quite understanding why it won't allow me to add it to this vector.

Upvotes: 3

Views: 48

Answers (2)

piRSquared
piRSquared

Reputation: 294566

np.mean

Sums entire dataframe and returns float

Use

children.mean()

Upvotes: 2

Mohammed Elmahgiubi
Mohammed Elmahgiubi

Reputation: 641

With children being your dataframe, I think if you use:

children.describe()

or

children.describe().transpose()

You will save yourself some time.

Upvotes: 1

Related Questions