nicholas.reichel
nicholas.reichel

Reputation: 2270

Access single cell of pandas dataframe?

I have the following data with some missing holes. I've looked over the 'how to handle missing data' but can't find anything that applies in this situation. Here is the data:

          Species GearUsed  AverageFishWeight(lbs) NormalRange(lbs)  Caught  
0   BlackBullhead  Gillnet                    0.11          0.8-7.7    0.18   
1    BlackCrappie  Trapnet                    6.22          0.7-3.4    0.30   
2             NaN  Gillnet                    1.00          0.6-3.5    0.30   
3        Bluegill  Trapnet                   11.56         6.1-46.6    0.14   
4             NaN  Gillnet                    1.44              NaN    0.21   
5   BrownBullhead  Trapnet                    0.11          0.4-2.1    1.01   
6    NorthernPike  Trapnet                    0.22              NaN    4.32   
7             NaN  Gillnet                    2.22         3.5-10.5    5.63   
8     Pumpkinseed  Trapnet                    0.89          2.0-8.5    0.23   
9        RockBass  Trapnet                    0.22          0.5-1.8    0.04   
10        Walleye  Trapnet                    0.22          0.3-0.7    0.28   
11            NaN  Gillnet                    1.56          1.3-5.0    2.54   
12    WhiteSucker  Trapnet                    0.33          0.3-1.4    2.76   
13            NaN  Gillnet                    1.78          0.5-2.7    1.32   
14    YellowPerch  Trapnet                    1.33          0.5-3.3    0.14   
15            NaN  Gillnet                   27.67         3.4-43.6    0.14   

I need the NaNs in the species column to just be the name above it, for example row 2 would be BlackCrappie. I would like to iterate through the frame and manually specify the species name but am not too sure of how, and also other answers recommend against iterating through the dataframe in the first place.

How do I access each cell of the frame individually? Thanks!

PS the column names are incorrect, there is not a 27lb yellow perch. :)

Upvotes: 0

Views: 270

Answers (1)

CT Zhu
CT Zhu

Reputation: 54400

Do you want to fill the missing values in other rows as well? Seems to be what fillna() is for:

In [83]:

print df.fillna(method='pad')
          Species GearUsed  AverageFishWeight(lbs) NormalRange(lbs)  Caught
0   BlackBullhead  Gillnet                    0.11          0.8-7.7    0.18
1    BlackCrappie  Trapnet                    6.22          0.7-3.4    0.30
2    BlackCrappie  Gillnet                    1.00          0.6-3.5    0.30
3        Bluegill  Trapnet                   11.56         6.1-46.6    0.14
4        Bluegill  Gillnet                    1.44         6.1-46.6    0.21
5   BrownBullhead  Trapnet                    0.11          0.4-2.1    1.01
6    NorthernPike  Trapnet                    0.22          0.4-2.1    4.32
7    NorthernPike  Gillnet                    2.22         3.5-10.5    5.63
8     Pumpkinseed  Trapnet                    0.89          2.0-8.5    0.23
9        RockBass  Trapnet                    0.22          0.5-1.8    0.04
10        Walleye  Trapnet                    0.22          0.3-0.7    0.28
11        Walleye  Gillnet                    1.56          1.3-5.0    2.54
12    WhiteSucker  Trapnet                    0.33          0.3-1.4    2.76
13    WhiteSucker  Gillnet                    1.78          0.5-2.7    1.32
14    YellowPerch  Trapnet                    1.33          0.5-3.3    0.14
15    YellowPerch  Gillnet                   27.67         3.4-43.6    0.14

Upvotes: 1

Related Questions