# -*- coding: utf-8 -*- """ Created on Mon Jan 11 18:25:06 2021 @author: cyril """ import pandas as pd import scipy.stats import math #DATA individual = ["Adult_Indian" for i in range(64)] + ["Adult_White" for i in range(64)] + ["Neonate_Indian" for i in range(64)] + ["Neonate_White" for i in range(64)] limb = ["fore" for i in range(36)] + ["hind" for i in range(28)]+ ["fore" for i in range(36)] + ["hind" for i in range(28)]+ ["fore" for i in range(36)] + ["hind" for i in range(28)]+ ["fore" for i in range(36)] + ["hind" for i in range(28)] norm_fmax = [9.823332988, 3.649101681, 51.83340886, 5.697683355, 26.67183745, 24.65353576, 155.0687616, 85.26132243, 93.19746347, 30.92756562, 0, 36.82048048, 75.67977966, 60.23681801, 42.183682, 25.14247697, 12.7873017, 13.67955077, 16.39898099, 8.173346418, 80.68052894, 0, 47.3444181, 16.5167594, 0.86104827, 2.15917699, 7.672321849, 0, 47.73363016, 5.16, 15.68449812, 13.02667135, 3.994782464, 0, 15.42225962, 49.44096198, 65.35776836, 51.36888549, 21.87826452, 24.61219474, 67.43413038, 34.43790186, 55.98482569, 24.69906823, 9.33206891, 2.950726588, 0, 58.64717782, 26.58699123, 15.54800688, 4.939657813, 30.56306221, 37.44152377, 18.02848431, 32.9064708, 19.82773166, 14.49218696, 3.986333081, 8.651758205, 17.33577957, 4.633073416, 0, 41.65601059, 12.26282611, 3.997638384, 4.758252714, 47.47620596, 14.13505018, 8.770243791, 26.29, 95.64896093, 52.70457583, 42.9443851, 10.67461568, 5.53099033, 61.98524367, 38.38359157, 53.90503857, 23.35473328, 19.41594116, 11.21730816, 11.57789988, 1.660270878, 9.460128577, 38.02173073, 5.141603682, 67.80654927, 15.83357435, 6.872363872, 11.84711602, 0.412620411, 12.95547407, 38.65627117, 0.34, 8.957894463, 7.523088205, 2.692894108, 11.61296727, 12.93547258, 21.85704522, 14.16053581, 30.61450882, 15.23126961, 16.69076665, 30.26440409, 40.06533553, 14.30306811, 14.32095862, 10.39267134, 16.29874473, 9.273226341, 14.8451206, 16.61349353, 13.49156456, 2.120564839, 13.27237025, 1.591974604, 6.790880384, 28.39698264, 23.59079349, 9.932215469, 0, 3.421019928, 8.007328841, 1.171075822, 0, 44.99915419, 0, 25.23390472, 49.72627217, 60.3099367, 0, 0, 0, 0, 0, 0, 71.75060596, 92.58153318, 66.30714219, 72.28674561, 148.0657426, 80.05857694, 97.94485975, 43.53478843, 65.73805766, 64.36050748, 0, 145.7898002, 23.30741657, 47.35610355, 52.95420449, 41.87043859, 0, 37.60975162, 80.09565126, 75.61005415, 0, 56.17607868, 53.78443086, 0, 90.27008553, 14.29802767, 156.9886016, 115.5783414, 48.90899642, 0, 0, 107.8479062, 130.5017112, 43.92936396, 51.23321184, 149.8702249, 0, 78.57962485, 89.08129969, 84.05996603, 58.35778074, 13.45412604, 78.19443757, 62.71021618, 174.386137, 95.50912877, 41.3295122, 57.030132, 0, 18.34360104, 50.188066, 0, 0, 146.4752935, 36.66584693, 27.49902282, 24.31391507, 113.5361611, 48.81268504, 56.00945689, 40.55817556, 60.37124986, 0, 0, 154.8264157, 122.6241263, 155.920583, 168.3403691, 159.190356, 62.52140926, 90.07161977, 0, 0, 17.04618638, 22.49663184, 203.0957158, 40.48398095, 159.7240835, 51.90887574, 48.33915859, 0, 0, 89.80302201, 103.485822, 43.7, 30.44299145, 51.42082461, 0, 114.8716809, 83.95005201, 8.423010746, 37.30450643, 117.0651485, 23.36863807, 7.580576964, 81.8505041, 149.9944281, 30.02709982, 66.83413326, 18.78498764, 59.88936003, 34.28503194, 89.81347731, 67.68857975, 68.94486941, 16.16637871, 102.6107643, 53.46606842, 71.93693954, 81.38374354, 0, 0, 18.81294091, 19.00960449, 67.72777658, 11.65645896, 161.3917402, 0, 0] data = {"individual":individual, "limb":limb, "norm_fmax":norm_fmax} data = pd.DataFrame(data) #COMPARISONS BETWEEN ADULT RHINOS #This generates indexes indicating which muscle does not have a reported value for any of the two individuals index_Adult_Indian_Adult_White = (data[data["individual"]=="Adult_Indian"]["norm_fmax"] != 0).reset_index() & (data[data["individual"]=="Adult_White"]["norm_fmax"] != 0).reset_index() index_Adult_Indian_Adult_White = index_Adult_Indian_Adult_White.values.tolist() index_Adult_Indian_Adult_White = [i[1] for i in index_Adult_Indian_Adult_White]*4 #Forelimb Adult_Indian_fmax = data[(data["individual"]=="Adult_Indian") & (data["limb"]=="fore") & index_Adult_Indian_Adult_White]["norm_fmax"] #generates a list with the normalized fmax of each muscle that is also reported in the White rhino. Adult_White_fmax = data[(data["individual"]=="Adult_White") & (data["limb"]=="fore") & index_Adult_Indian_Adult_White]["norm_fmax"]#generates a list with the normalized fmax of each muscle that is also reported in the Indian rhino. Adult_Indian_fmax = [math.log(y) for y in Adult_Indian_fmax] #to log the data Adult_White_fmax = [math.log(y) for y in Adult_White_fmax] scipy.stats.ttest_ind(Adult_Indian_fmax, Adult_White_fmax) #t-test #Hindlimb Adult_Indian_fmax = data[(data["individual"]=="Adult_Indian") & (data["limb"]=="hind") & index_Adult_Indian_Adult_White]["norm_fmax"] Adult_White_fmax = data[(data["individual"]=="Adult_White") & (data["limb"]=="hind") & index_Adult_Indian_Adult_White]["norm_fmax"] Adult_Indian_fmax = [math.log(y) for y in Adult_Indian_fmax] Adult_White_fmax = [math.log(y) for y in Adult_White_fmax] scipy.stats.ttest_ind(Adult_Indian_fmax, Adult_White_fmax) #COMPARISONS BETWEEN NEONATE RHINOS Index_neonates = (data[data["individual"]=="Neonate_Indian"]["norm_fmax"] != 0).reset_index() & (data[data["individual"]=="Neonate_White"]["norm_fmax"] != 0).reset_index() Index_neonates = Index_neonates.values.tolist() Index_neonates = [i[1] for i in Index_neonates]*4 #Fore Neonate_Indian_fmax = data[(data["individual"]=="Neonate_Indian") & (data["limb"]=="fore") & Index_neonates]["norm_fmax"] Neonate_White_fmax = data[(data["individual"]=="Neonate_White") & (data["limb"]=="fore") & Index_neonates]["norm_fmax"] Neonate_Indian_fmax = [math.log(y) for y in Neonate_Indian_fmax] Neonate_White_fmax = [math.log(y) for y in Neonate_White_fmax] scipy.stats.ttest_ind(Neonate_Indian_fmax, Neonate_White_fmax) #Hind Neonate_Indian_fmax = data[(data["individual"]=="Neonate_Indian") & (data["limb"]=="hind") & Index_neonates]["norm_fmax"] Neonate_White_fmax = data[(data["individual"]=="Neonate_White") & (data["limb"]=="hind") & Index_neonates]["norm_fmax"] Neonate_Indian_fmax = [math.log(y) for y in Neonate_Indian_fmax] Neonate_White_fmax = [math.log(y) for y in Neonate_White_fmax] scipy.stats.ttest_ind(Neonate_Indian_fmax, Neonate_White_fmax) #COMPARISONS BETWEEN WHITE RHINOS Index_blancs = (data[data["individual"]=="Neonate_White"]["norm_fmax"] != 0).reset_index() & (data[data["individual"]=="Adult_White"]["norm_fmax"] != 0).reset_index() Index_blancs = Index_blancs.values.tolist() Index_blancs = [i[1] for i in Index_blancs]*4 #Fore Neonate_White_fmax = data[(data["individual"]=="Neonate_White") & (data["limb"]=="fore") & Index_blancs]["norm_fmax"] Adult_White_fmax = data[(data["individual"]=="Adult_White") & (data["limb"]=="fore") & Index_blancs]["norm_fmax"] Neonate_White_fmax = [math.log(y) for y in Neonate_White_fmax] Adult_White_fmax = [math.log(y) for y in Adult_White_fmax] scipy.stats.ttest_ind(Adult_White_fmax, Neonate_White_fmax) #Hind Neonate_White_fmax = data[(data["individual"]=="Neonate_White") & (data["limb"]=="hind") & Index_blancs]["norm_fmax"] Adult_White_fmax = data[(data["individual"]=="Adult_White") & (data["limb"]=="hind") & Index_blancs]["norm_fmax"] Neonate_White_fmax = [math.log(y) for y in Neonate_White_fmax] Adult_White_fmax = [math.log(y) for y in Adult_White_fmax] scipy.stats.ttest_ind(Adult_White_fmax, Neonate_White_fmax) #COMPARISONS BETWEEN INDIAN RHINOS Index_indiens = (data[data["individual"]=="Neonate_Indian"]["norm_fmax"] != 0).reset_index() & (data[data["individual"]=="Adult_Indian"]["norm_fmax"] != 0).reset_index() Index_indiens = Index_indiens.values.tolist() Index_indiens = [i[1] for i in Index_indiens]*4 #Fore Neonate_Indian_fmax = data[(data["individual"]=="Neonate_Indian") & (data["limb"]=="fore") & Index_indiens]["norm_fmax"] Adult_Indian_fmax = data[(data["individual"]=="Adult_Indian") & (data["limb"]=="fore") & Index_indiens]["norm_fmax"] Neonate_Indian_fmax = [math.log(y) for y in Neonate_Indian_fmax] Adult_Indian_fmax = [math.log(y) for y in Adult_Indian_fmax] scipy.stats.ttest_ind(Adult_Indian_fmax, Neonate_Indian_fmax) #Hind Neonate_Indian_fmax = data[(data["individual"]=="Neonate_Indian") & (data["limb"]=="hind") & Index_indiens]["norm_fmax"] Adult_Indian_fmax = data[(data["individual"]=="Adult_Indian") & (data["limb"]=="hind") & Index_indiens]["norm_fmax"] Neonate_Indian_fmax = [math.log(y) for y in Neonate_Indian_fmax] Adult_Indian_fmax = [math.log(y) for y in Adult_Indian_fmax] scipy.stats.ttest_ind(Adult_Indian_fmax, Neonate_Indian_fmax)