In [1]:
import os
import charts_function_list
import viz_functions

In [2]:
base, data, outputs = charts_function_list.folder_setup()

In [3]:
os.chdir(data)

In [119]:
animals = pd.read_csv('eyeball size body - Sheet1.csv') #load initial animal size sheet
animals['Binomial name'] = animals['Binomial name'].fillna('none') #fill missing binomial ames

In [9]:
part_1 = pd.read_table('PanTHERIA_1-0_WR93_Aug2008.txt') #initial dataset


part_1 = pd.read_table('PanTHERIA_1-0_WR93_Aug2008.txt') #initial dataset
part_2 = part_2.rename(columns={'14-1_InterbirthInterval_d':'14-1_InterBirthInterval_d',
                      '26-4_GR_MidRangeLat_dd':'26-4_GR_MRLat_dd',
                       '26-7_GR_MidRangeLong_dd':'26-7_GR_MRLong_dd'
                      }) #create standard column names

combined = pd.concat([part_1,part_2],sort=False) #create combined frame
combined['joint_binom'] = '' #set a blank column

#fill in nulls with respective binomial
combined.loc[combined['MSW05_Binomial'].isnull(),['joint_binom']] = combined.loc[combined['MSW05_Binomial'].isnull(),'MSW93_Binomial']
combined.loc[combined['MSW93_Binomial'].isnull(),['joint_binom']] = combined.loc[combined['MSW93_Binomial'].isnull(),'MSW05_Binomial']

In [121]:


In [133]:
animal_crew = [] #set blank array
for binom,common in zip(animals['Binomial name'].values,animals['Animal'].values): 
    
    temp_df = part_2.loc[part_2['MSW05_Binomial'].str.contains(binom),['MSW05_Binomial','5-1_AdultBodyMass_g']]
    temp_df['common_animal'] = common
    temp_df['MSW05_Binomial'] = binom
    
    if len(temp_df)==0:
        temp_df['MSW05_Binomial'] = binom
        temp_df = pd.concat([temp_df,pd.DataFrame([[binom,0.0,common]],columns=temp_df.columns)])
    `b
    animal_crew.append(temp_df)
    
animal_crew=pd.concat(animal_crew)
animal_crew['pounds'] = animal_crew['5-1_AdultBodyMass_g']*0.00220462

full_animals = pd.merge(animal_crew,animals,left_on='common_animal',right_on='Animal',how='left')[['Animal','pounds','Eyeball Size (mm)']]
#['5-1_AdultBodyMass_g']*0.00220462

In [ ]:
#grr, probably could've just done this with a simple merge.. no reason to think there aren't exact matches. BOO

In [159]:
animal_crew_simple = pd.merge(animals,part_1,how='left',left_on='Binomial name',right_on='MSW05_Binomial')[['Animal','Binomial name','MSW05_Binomial','5-1_AdultBodyMass_g','Eyeball Size (mm)']]
animal_crew_simple['Pounds'] = animal_crew_simple['5-1_AdultBodyMass_g']*0.00220462
animal_crew_simple = animal_crew_simple.drop(['5-1_AdultBodyMass_g'],axis=1)

In [162]:
full_animals


Out[162]:
Animal pounds Eyeball Size (mm)
0 Collosal Squid 0.000000 280
1 Giant Squid 0.000000 250
2 Blue Whale 340219.834327 150
3 Harbor Seal 192.500055 40
4 Moose 1018.315654 40
5 Cow 1363.871452 34
6 Elephant 7208.653998 34
7 Horse 0.000000 34
8 Deer 0.000000 30
9 Boar 186.227647 28
10 Cougar 0.000000 28
11 Dolphin 0.000000 24
12 Human 129.059844 24
13 Bear 0.000000 22
14 Bobcat 14.053284 20
15 Fox 0.000000 20
16 Great Horned Owl 0.000000 20
17 Eagle 0.000000 18
18 Wolverine 28.202579 14
19 Barn Owl 0.000000 12
20 Goose 0.000000 12
21 Loon 0.000000 12
22 Redtail Hawk 0.000000 12
23 Chicken 0.000000 10
24 Mallard Duck 0.000000 10
25 Otter 0.000000 10
26 Bullfrog 0.000000 8
27 Ferret 0.000000 8
28 Painted Turtle 0.000000 8
29 Rattlesnake 0.000000 8
30 Squirrel 0.000000 8

In [161]:
animal_crew_simple.loc[animal_crew_simple['MSW05_Binomial'].isnull()]


Out[161]:
Animal Binomial name MSW05_Binomial Eyeball Size (mm) Pounds
0 Collosal Squid Mesonychoteuthis hamiltoni NaN 280 NaN
1 Giant Squid Architeuthis dux NaN 250 NaN
7 Horse Equus ferus caballus NaN 34 NaN
8 Deer none NaN 30 NaN
10 Cougar none NaN 28 NaN
11 Dolphin none NaN 24 NaN
13 Bear none NaN 22 NaN
15 Fox none NaN 20 NaN
16 Great Horned Owl Bubo virginianus NaN 20 NaN
17 Eagle none NaN 18 NaN
19 Barn Owl Tyto alba NaN 12 NaN
20 Goose none NaN 12 NaN
21 Loon none NaN 12 NaN
22 Redtail Hawk Buteo jamaicensis NaN 12 NaN
23 Chicken none NaN 10 NaN
24 Mallard Duck Anas platyrhynchos NaN 10 NaN
25 Otter none NaN 10 NaN
26 Bullfrog none NaN 8 NaN
27 Ferret Mustela putorius furo NaN 8 NaN
28 Painted Turtle Chrysemys picta NaN 8 NaN
29 Rattlesnake none NaN 8 NaN
30 Squirrel none NaN 8 NaN

In [ ]: