In [149]:
drive_path = 'c:/'
import numpy as np
import pandas as pd
import os
import sys
import matplotlib.pyplot as plt
from scipy.stats import ks_2samp
from scipy.stats import anderson_ksamp
from scipy.stats import kruskal
from scipy.stats import variation
%matplotlib
import seaborn as sns


Using matplotlib backend: Qt4Agg

In [150]:
read_data=pd.read_csv('C:\Users\Annie\Documents\Data\Ca_Imaging\Analysis\Odor_Panel\Composite_MaxDF_NoP.csv')
columns=['Mouse','THA', 'MS 0.01', 'BLANK', 'AP', 'MS 0.1', 'MS 0.05',
       'IAA 0.05', 'IAA 0.01', 'PA', 'IAA 0.1', 'Hexanone', 'Hexanal 0.1',
       'Hexanal 0.01', 'Hexanal 0.05', 'EB']
odorlist=['THA', 'MS 0.01', 'BLANK', 'AP', 'MS 0.1', 'MS 0.05',
       'IAA 0.05', 'IAA 0.01', 'PA', 'IAA 0.1', 'Hexanone', 'Hexanal 0.1',
       'Hexanal 0.01', 'Hexanal 0.05', 'EB']
comp=read_data[columns]
comp_sorted=comp.reindex_axis(comp.mean().sort_values().index, axis=1)
comp_labels=pd.DataFrame(comp.Mouse)
tmp=[comp_labels,comp_sorted]
composite_full=pd.concat(tmp,axis=1)
cfull=pd.melt(composite_full,"Mouse",var_name="Odor")
normalized=(composite_full[odorlist].subtract(composite_full['THA'],axis=0)).div(composite_full['THA'],axis=0)
# normalized=(composite_full[odorlist]).div(composite_full['THA'],axis=0)
norm_full=pd.concat([comp_labels,normalized],axis=1)

In [151]:
norm_full


Out[151]:
Mouse THA MS 0.01 BLANK AP MS 0.1 MS 0.05 IAA 0.05 IAA 0.01 PA IAA 0.1 Hexanone Hexanal 0.1 Hexanal 0.01 Hexanal 0.05 EB
0 160321_3 0.0 -0.400090 NaN -0.344823 -0.544378 -0.531191 -0.537541 0.251537 -0.220570 0.018606 0.627223 -0.380191 -0.260086 -0.380484 -0.088191
1 160321_3 0.0 0.131822 NaN 0.935485 -0.199863 0.811543 0.646904 1.549371 0.533132 1.594844 3.066357 1.219374 1.124826 1.058790 2.041763
2 160321_3 0.0 3.267816 NaN 1.946211 0.219138 0.335643 0.282769 5.566732 1.477158 6.175404 7.906112 3.578918 4.749383 4.222302 6.051942
3 160321_3 0.0 -0.262099 NaN -0.604003 0.050473 0.091708 0.234839 1.083542 -0.134753 0.788398 1.417267 0.923055 0.309444 0.611258 0.891231
4 160321_3 0.0 -0.055786 NaN -0.013573 -0.196721 0.021294 0.476199 1.410221 0.238121 1.087659 1.814669 1.291623 0.923332 1.181372 0.833386
5 160321_3 0.0 0.207977 NaN 0.485238 -0.482213 0.965116 -0.160433 1.744489 -0.319891 2.850503 0.656128 2.049952 -0.643608 1.061229 0.894312
6 160321_3 0.0 -0.035291 NaN -0.123480 0.885648 0.563636 1.501978 1.622481 0.174066 2.829006 1.707634 1.099173 1.057188 0.974545 1.017351
7 160321_3 0.0 0.112182 NaN -0.286148 -0.132767 0.102533 0.314895 0.650100 -0.097968 1.207434 0.861124 0.666477 0.391135 0.460015 0.397345
8 160321_3 0.0 3.189364 NaN 1.462848 -1.000000 0.774676 2.592315 7.975668 1.806242 6.294464 3.810664 3.444569 2.595106 2.199730 -1.000000
9 160321_3 0.0 -0.361231 NaN -0.121053 -0.223976 -0.178359 -0.044584 0.290159 -0.147861 0.333416 1.244723 0.613658 0.309481 0.334041 0.034363
10 160321_3 0.0 -0.667891 NaN -0.280665 -0.249353 0.033973 -0.219475 1.201006 0.271140 0.769109 2.036271 1.339732 0.449076 0.805498 0.373625
11 160321_3 0.0 -0.145800 NaN -0.282470 0.068271 0.084565 0.519474 1.016486 -0.222663 1.389527 1.827181 1.660208 1.034069 1.059347 0.231676
12 160321_3 0.0 -0.264201 NaN -0.288311 -0.288691 -0.082380 -0.411193 0.139929 -0.072414 0.246232 1.141019 0.780570 0.199378 0.770216 0.336141
13 160421_2 0.0 -0.422178 -0.777576 -0.436515 0.543340 0.751926 1.288000 1.409289 -0.483837 1.700571 1.899133 1.274423 1.323625 1.489617 1.345228
14 160421_2 0.0 -0.559349 -0.778290 -0.087876 0.523088 0.635880 1.033287 1.528268 -0.476085 1.906727 1.968740 1.534358 1.112488 1.663830 1.151921
15 160421_2 0.0 -0.323361 -0.887179 -0.202334 0.480792 0.703404 1.180236 2.142995 -0.323589 2.847611 2.581044 1.669870 1.438123 2.203200 1.402188
16 160421_2 0.0 -0.041870 -0.245150 -0.124331 -0.496946 0.007243 0.223049 1.170341 -0.549807 1.867453 2.661217 1.541404 0.756253 2.715449 1.578155
17 160421_2 0.0 -0.286358 -0.835506 -0.189344 0.728898 0.864668 1.466609 1.789052 -0.458013 2.377171 2.861527 1.859579 1.760803 1.800832 1.745558
18 160421_2 0.0 -0.048347 -1.000000 1.157044 0.274566 0.127729 2.813064 6.524919 -0.169681 7.235291 5.415259 2.734283 3.106173 4.240443 2.680228
19 160421_2 0.0 -0.520382 -1.000000 -1.000000 -0.113644 1.149353 1.249164 2.934559 -0.700102 3.721678 3.534672 1.743919 0.664124 2.520224 2.270506
20 160421_2 0.0 -0.655711 -1.000000 -0.239917 0.392098 0.431181 1.623432 3.262930 -1.000000 5.329036 4.124049 2.532390 1.917690 4.026034 2.223029
21 160421_2 0.0 -0.495039 -0.308778 0.301525 0.698205 1.066355 1.042474 2.694228 -0.502037 4.734481 4.486628 1.923074 1.951121 2.695123 2.462851
22 160421_2 0.0 -0.169472 -0.692589 -0.295092 -0.602720 -0.484787 0.796488 2.265552 -0.467433 3.445670 3.116868 2.344100 2.575293 3.831902 0.642397
23 160421_2 0.0 -0.649160 -1.000000 -0.182205 -0.452957 -0.786923 0.246350 0.717966 -0.167337 1.046070 1.028386 0.208235 0.440849 1.116588 0.391441
24 160421_2 0.0 -0.663996 -1.000000 -0.408643 0.396271 0.968249 1.249808 1.991319 -0.412192 2.610865 2.547930 1.237175 1.089325 1.475877 1.427871
25 160421_2 0.0 -0.203355 -0.793256 -0.083513 0.945075 0.932742 1.571823 1.893641 -0.460217 2.609251 2.791362 1.965628 1.732743 2.036177 1.839848
26 160421_2 0.0 0.302445 -0.707322 -0.086575 -1.000000 -1.000000 -0.114793 2.017263 -0.267966 5.444354 4.433749 3.270324 4.309027 6.000312 3.152493
27 160421_2 0.0 0.744845 -1.000000 0.228892 -0.482979 -0.303321 1.516031 2.979878 0.353505 6.925194 5.564723 2.813652 3.007423 5.743624 4.451796
28 160421_2 0.0 -0.586267 -1.000000 -0.424218 -1.000000 0.206482 1.090960 1.746925 -0.630192 2.200621 2.702641 0.541544 0.868526 0.973716 0.516847
29 160502_1 0.0 0.429885 0.815960 2.058643 1.176699 0.207608 -0.305239 0.456779 0.878487 0.811702 2.908932 0.813591 0.504412 1.489455 0.990897
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
873 160401_1 0.0 -0.480513 NaN -0.328076 -0.452324 -0.635349 -0.389562 -0.506232 -0.386256 -0.274780 1.163067 0.502593 -0.041763 0.858615 -0.240923
874 160401_1 0.0 -0.275088 NaN -0.104834 0.009652 -0.585022 0.166672 1.142341 -0.113256 2.014463 2.983565 1.283247 0.939902 1.510381 0.879173
875 160401_1 0.0 -0.629282 NaN -0.136332 -0.697789 -0.018547 -0.117428 -0.024426 0.045676 1.350691 2.926680 2.022137 1.262465 2.065400 0.703029
876 160401_1 0.0 -0.519807 NaN -0.259380 -0.549676 -0.677441 -0.218790 0.350028 -0.595880 0.530591 2.051262 1.176898 0.643161 1.810075 0.159182
877 160401_1 0.0 -0.331897 NaN -0.028914 -0.330478 -0.520184 0.247952 0.268497 0.014477 0.497959 2.419468 1.388522 0.884662 1.726700 1.571426
878 160401_1 0.0 -0.442203 NaN -0.403281 -0.137548 -0.545124 0.472529 0.368805 -0.168853 1.455242 1.999742 2.136659 1.300440 2.103439 0.851331
879 160401_1 0.0 -0.699523 NaN -0.091567 0.218979 -0.372336 0.703466 1.871266 -0.308168 2.258422 2.573234 1.981403 1.473997 2.110707 0.409777
880 160401_1 0.0 -0.638935 NaN 0.337550 0.450771 -0.259174 0.997317 1.009854 0.170020 1.817470 1.874510 1.030277 1.094578 1.233920 0.267300
881 160401_1 0.0 -0.552404 NaN -0.142080 -0.298635 -0.375006 0.372572 0.018093 -0.026370 0.600282 0.863653 0.731596 0.280553 0.612475 0.244509
882 160401_1 0.0 -0.237995 NaN -0.090868 -0.272667 -0.387847 0.338712 0.263739 0.258199 0.921955 1.288182 0.862382 0.835225 0.790315 0.246710
883 160401_1 0.0 -0.393109 NaN -0.213735 -0.011482 -0.505249 0.225028 0.320215 -0.108945 0.594557 0.968629 0.605197 0.525279 0.627197 0.305874
884 160401_1 0.0 -0.233461 NaN 0.084341 -0.112976 -0.296818 0.063234 0.261620 0.135464 0.248056 1.085144 0.456176 0.478926 0.671995 0.358096
885 160401_1 0.0 -0.132286 NaN -0.109848 0.055514 0.048271 0.606252 1.017948 0.038021 1.844043 2.200896 1.618889 0.734480 1.633462 0.443809
886 160401_1 0.0 -0.406972 NaN -0.053967 -0.461476 -0.396359 -0.021925 0.292224 -0.002142 0.863115 1.626615 0.802300 0.363676 0.932310 0.525132
887 160401_1 0.0 -0.634375 NaN -0.194893 -0.259187 -0.577829 0.244492 0.473889 -0.194266 1.211096 2.063926 0.939781 0.749405 1.124877 0.719648
888 160401_1 0.0 -0.120744 NaN 0.128909 -0.278734 -0.218530 -0.162215 0.406988 0.112259 0.435555 1.549246 0.703673 0.854916 0.858152 0.546053
889 160401_1 0.0 -0.616417 NaN -0.327827 -0.135042 -0.089328 0.111227 0.604888 -0.065502 1.045103 1.358281 0.834362 0.487381 1.000548 0.676252
890 160401_1 0.0 -0.701839 NaN -0.203434 -0.328447 -0.163850 0.293167 0.680630 -0.015155 0.889977 2.209118 1.723510 0.912889 1.809520 0.299999
891 160401_1 0.0 -0.350806 NaN 0.425250 -0.102636 -0.281088 1.246913 1.177825 0.221066 1.894378 2.920881 1.911002 1.097900 1.878421 0.928858
892 160401_1 0.0 -0.273952 NaN 0.301108 0.366686 0.018205 1.458762 2.248869 0.052641 2.822465 3.456945 2.626816 1.901230 2.904749 0.835210
893 160401_1 0.0 -0.590948 NaN -0.208155 -0.616708 -0.783351 -0.284471 0.205350 -0.104573 0.053314 1.219326 0.576971 -0.119307 0.665029 0.267094
894 160401_1 0.0 -0.489891 NaN -0.472662 -1.000000 -0.481966 -0.324315 -0.224456 -0.490662 0.536003 0.017784 -0.224079 -0.213096 -0.374204 -0.255887
895 160401_1 0.0 -0.249751 NaN -0.191769 -0.286377 -0.244252 0.348897 0.168116 0.029263 0.237252 0.835634 0.679103 0.639775 0.531095 0.557672
896 160401_1 0.0 -0.510043 NaN 0.043505 -0.164755 -0.153597 -0.301699 0.831953 0.177442 1.191791 3.394804 0.933403 0.559172 1.366306 1.381086
897 160401_1 0.0 -0.202133 NaN -0.180844 -0.248959 -0.327063 0.006885 0.320168 0.147904 0.785692 1.590209 0.594228 0.420565 0.642554 0.587788
898 160401_1 0.0 -0.107450 NaN 0.257021 -0.112784 -0.212520 0.173942 0.220825 0.337229 0.448041 0.943803 0.710532 0.667518 0.731273 0.537601
899 160401_1 0.0 -0.509940 NaN 0.338997 0.151433 -0.343570 0.447093 0.575020 0.327551 1.165803 0.939245 1.380036 0.928875 1.173318 0.637573
900 160401_1 0.0 -0.589516 NaN -0.628727 -0.602028 -0.631236 -0.315316 -0.503387 -0.456552 0.075247 -0.023458 -0.036088 -0.186780 0.016194 -0.366879
901 160401_1 0.0 -0.485369 NaN -0.123588 -0.244911 -0.312881 0.500952 0.937486 0.112238 0.878636 1.878881 1.353232 0.772458 1.306495 0.599841
902 160401_1 0.0 -0.525130 NaN -0.100659 -0.498671 -0.584155 -0.064947 -0.141737 -0.356259 0.257186 1.169830 0.569993 0.382141 0.505789 0.233453

903 rows × 16 columns


In [152]:
norm_full['Mouse']=norm_full['Mouse'].apply(lambda x:x.split('_')[0])
nfull=pd.melt(norm_full,"Mouse",var_name="Odor")
nfull['Mouse'] = nfull['Mouse'].apply(lambda x: x.split('_')[0])

In [153]:
norm_full


Out[153]:
Mouse THA MS 0.01 BLANK AP MS 0.1 MS 0.05 IAA 0.05 IAA 0.01 PA IAA 0.1 Hexanone Hexanal 0.1 Hexanal 0.01 Hexanal 0.05 EB
0 160321 0.0 -0.400090 NaN -0.344823 -0.544378 -0.531191 -0.537541 0.251537 -0.220570 0.018606 0.627223 -0.380191 -0.260086 -0.380484 -0.088191
1 160321 0.0 0.131822 NaN 0.935485 -0.199863 0.811543 0.646904 1.549371 0.533132 1.594844 3.066357 1.219374 1.124826 1.058790 2.041763
2 160321 0.0 3.267816 NaN 1.946211 0.219138 0.335643 0.282769 5.566732 1.477158 6.175404 7.906112 3.578918 4.749383 4.222302 6.051942
3 160321 0.0 -0.262099 NaN -0.604003 0.050473 0.091708 0.234839 1.083542 -0.134753 0.788398 1.417267 0.923055 0.309444 0.611258 0.891231
4 160321 0.0 -0.055786 NaN -0.013573 -0.196721 0.021294 0.476199 1.410221 0.238121 1.087659 1.814669 1.291623 0.923332 1.181372 0.833386
5 160321 0.0 0.207977 NaN 0.485238 -0.482213 0.965116 -0.160433 1.744489 -0.319891 2.850503 0.656128 2.049952 -0.643608 1.061229 0.894312
6 160321 0.0 -0.035291 NaN -0.123480 0.885648 0.563636 1.501978 1.622481 0.174066 2.829006 1.707634 1.099173 1.057188 0.974545 1.017351
7 160321 0.0 0.112182 NaN -0.286148 -0.132767 0.102533 0.314895 0.650100 -0.097968 1.207434 0.861124 0.666477 0.391135 0.460015 0.397345
8 160321 0.0 3.189364 NaN 1.462848 -1.000000 0.774676 2.592315 7.975668 1.806242 6.294464 3.810664 3.444569 2.595106 2.199730 -1.000000
9 160321 0.0 -0.361231 NaN -0.121053 -0.223976 -0.178359 -0.044584 0.290159 -0.147861 0.333416 1.244723 0.613658 0.309481 0.334041 0.034363
10 160321 0.0 -0.667891 NaN -0.280665 -0.249353 0.033973 -0.219475 1.201006 0.271140 0.769109 2.036271 1.339732 0.449076 0.805498 0.373625
11 160321 0.0 -0.145800 NaN -0.282470 0.068271 0.084565 0.519474 1.016486 -0.222663 1.389527 1.827181 1.660208 1.034069 1.059347 0.231676
12 160321 0.0 -0.264201 NaN -0.288311 -0.288691 -0.082380 -0.411193 0.139929 -0.072414 0.246232 1.141019 0.780570 0.199378 0.770216 0.336141
13 160421 0.0 -0.422178 -0.777576 -0.436515 0.543340 0.751926 1.288000 1.409289 -0.483837 1.700571 1.899133 1.274423 1.323625 1.489617 1.345228
14 160421 0.0 -0.559349 -0.778290 -0.087876 0.523088 0.635880 1.033287 1.528268 -0.476085 1.906727 1.968740 1.534358 1.112488 1.663830 1.151921
15 160421 0.0 -0.323361 -0.887179 -0.202334 0.480792 0.703404 1.180236 2.142995 -0.323589 2.847611 2.581044 1.669870 1.438123 2.203200 1.402188
16 160421 0.0 -0.041870 -0.245150 -0.124331 -0.496946 0.007243 0.223049 1.170341 -0.549807 1.867453 2.661217 1.541404 0.756253 2.715449 1.578155
17 160421 0.0 -0.286358 -0.835506 -0.189344 0.728898 0.864668 1.466609 1.789052 -0.458013 2.377171 2.861527 1.859579 1.760803 1.800832 1.745558
18 160421 0.0 -0.048347 -1.000000 1.157044 0.274566 0.127729 2.813064 6.524919 -0.169681 7.235291 5.415259 2.734283 3.106173 4.240443 2.680228
19 160421 0.0 -0.520382 -1.000000 -1.000000 -0.113644 1.149353 1.249164 2.934559 -0.700102 3.721678 3.534672 1.743919 0.664124 2.520224 2.270506
20 160421 0.0 -0.655711 -1.000000 -0.239917 0.392098 0.431181 1.623432 3.262930 -1.000000 5.329036 4.124049 2.532390 1.917690 4.026034 2.223029
21 160421 0.0 -0.495039 -0.308778 0.301525 0.698205 1.066355 1.042474 2.694228 -0.502037 4.734481 4.486628 1.923074 1.951121 2.695123 2.462851
22 160421 0.0 -0.169472 -0.692589 -0.295092 -0.602720 -0.484787 0.796488 2.265552 -0.467433 3.445670 3.116868 2.344100 2.575293 3.831902 0.642397
23 160421 0.0 -0.649160 -1.000000 -0.182205 -0.452957 -0.786923 0.246350 0.717966 -0.167337 1.046070 1.028386 0.208235 0.440849 1.116588 0.391441
24 160421 0.0 -0.663996 -1.000000 -0.408643 0.396271 0.968249 1.249808 1.991319 -0.412192 2.610865 2.547930 1.237175 1.089325 1.475877 1.427871
25 160421 0.0 -0.203355 -0.793256 -0.083513 0.945075 0.932742 1.571823 1.893641 -0.460217 2.609251 2.791362 1.965628 1.732743 2.036177 1.839848
26 160421 0.0 0.302445 -0.707322 -0.086575 -1.000000 -1.000000 -0.114793 2.017263 -0.267966 5.444354 4.433749 3.270324 4.309027 6.000312 3.152493
27 160421 0.0 0.744845 -1.000000 0.228892 -0.482979 -0.303321 1.516031 2.979878 0.353505 6.925194 5.564723 2.813652 3.007423 5.743624 4.451796
28 160421 0.0 -0.586267 -1.000000 -0.424218 -1.000000 0.206482 1.090960 1.746925 -0.630192 2.200621 2.702641 0.541544 0.868526 0.973716 0.516847
29 160502 0.0 0.429885 0.815960 2.058643 1.176699 0.207608 -0.305239 0.456779 0.878487 0.811702 2.908932 0.813591 0.504412 1.489455 0.990897
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
873 160401 0.0 -0.480513 NaN -0.328076 -0.452324 -0.635349 -0.389562 -0.506232 -0.386256 -0.274780 1.163067 0.502593 -0.041763 0.858615 -0.240923
874 160401 0.0 -0.275088 NaN -0.104834 0.009652 -0.585022 0.166672 1.142341 -0.113256 2.014463 2.983565 1.283247 0.939902 1.510381 0.879173
875 160401 0.0 -0.629282 NaN -0.136332 -0.697789 -0.018547 -0.117428 -0.024426 0.045676 1.350691 2.926680 2.022137 1.262465 2.065400 0.703029
876 160401 0.0 -0.519807 NaN -0.259380 -0.549676 -0.677441 -0.218790 0.350028 -0.595880 0.530591 2.051262 1.176898 0.643161 1.810075 0.159182
877 160401 0.0 -0.331897 NaN -0.028914 -0.330478 -0.520184 0.247952 0.268497 0.014477 0.497959 2.419468 1.388522 0.884662 1.726700 1.571426
878 160401 0.0 -0.442203 NaN -0.403281 -0.137548 -0.545124 0.472529 0.368805 -0.168853 1.455242 1.999742 2.136659 1.300440 2.103439 0.851331
879 160401 0.0 -0.699523 NaN -0.091567 0.218979 -0.372336 0.703466 1.871266 -0.308168 2.258422 2.573234 1.981403 1.473997 2.110707 0.409777
880 160401 0.0 -0.638935 NaN 0.337550 0.450771 -0.259174 0.997317 1.009854 0.170020 1.817470 1.874510 1.030277 1.094578 1.233920 0.267300
881 160401 0.0 -0.552404 NaN -0.142080 -0.298635 -0.375006 0.372572 0.018093 -0.026370 0.600282 0.863653 0.731596 0.280553 0.612475 0.244509
882 160401 0.0 -0.237995 NaN -0.090868 -0.272667 -0.387847 0.338712 0.263739 0.258199 0.921955 1.288182 0.862382 0.835225 0.790315 0.246710
883 160401 0.0 -0.393109 NaN -0.213735 -0.011482 -0.505249 0.225028 0.320215 -0.108945 0.594557 0.968629 0.605197 0.525279 0.627197 0.305874
884 160401 0.0 -0.233461 NaN 0.084341 -0.112976 -0.296818 0.063234 0.261620 0.135464 0.248056 1.085144 0.456176 0.478926 0.671995 0.358096
885 160401 0.0 -0.132286 NaN -0.109848 0.055514 0.048271 0.606252 1.017948 0.038021 1.844043 2.200896 1.618889 0.734480 1.633462 0.443809
886 160401 0.0 -0.406972 NaN -0.053967 -0.461476 -0.396359 -0.021925 0.292224 -0.002142 0.863115 1.626615 0.802300 0.363676 0.932310 0.525132
887 160401 0.0 -0.634375 NaN -0.194893 -0.259187 -0.577829 0.244492 0.473889 -0.194266 1.211096 2.063926 0.939781 0.749405 1.124877 0.719648
888 160401 0.0 -0.120744 NaN 0.128909 -0.278734 -0.218530 -0.162215 0.406988 0.112259 0.435555 1.549246 0.703673 0.854916 0.858152 0.546053
889 160401 0.0 -0.616417 NaN -0.327827 -0.135042 -0.089328 0.111227 0.604888 -0.065502 1.045103 1.358281 0.834362 0.487381 1.000548 0.676252
890 160401 0.0 -0.701839 NaN -0.203434 -0.328447 -0.163850 0.293167 0.680630 -0.015155 0.889977 2.209118 1.723510 0.912889 1.809520 0.299999
891 160401 0.0 -0.350806 NaN 0.425250 -0.102636 -0.281088 1.246913 1.177825 0.221066 1.894378 2.920881 1.911002 1.097900 1.878421 0.928858
892 160401 0.0 -0.273952 NaN 0.301108 0.366686 0.018205 1.458762 2.248869 0.052641 2.822465 3.456945 2.626816 1.901230 2.904749 0.835210
893 160401 0.0 -0.590948 NaN -0.208155 -0.616708 -0.783351 -0.284471 0.205350 -0.104573 0.053314 1.219326 0.576971 -0.119307 0.665029 0.267094
894 160401 0.0 -0.489891 NaN -0.472662 -1.000000 -0.481966 -0.324315 -0.224456 -0.490662 0.536003 0.017784 -0.224079 -0.213096 -0.374204 -0.255887
895 160401 0.0 -0.249751 NaN -0.191769 -0.286377 -0.244252 0.348897 0.168116 0.029263 0.237252 0.835634 0.679103 0.639775 0.531095 0.557672
896 160401 0.0 -0.510043 NaN 0.043505 -0.164755 -0.153597 -0.301699 0.831953 0.177442 1.191791 3.394804 0.933403 0.559172 1.366306 1.381086
897 160401 0.0 -0.202133 NaN -0.180844 -0.248959 -0.327063 0.006885 0.320168 0.147904 0.785692 1.590209 0.594228 0.420565 0.642554 0.587788
898 160401 0.0 -0.107450 NaN 0.257021 -0.112784 -0.212520 0.173942 0.220825 0.337229 0.448041 0.943803 0.710532 0.667518 0.731273 0.537601
899 160401 0.0 -0.509940 NaN 0.338997 0.151433 -0.343570 0.447093 0.575020 0.327551 1.165803 0.939245 1.380036 0.928875 1.173318 0.637573
900 160401 0.0 -0.589516 NaN -0.628727 -0.602028 -0.631236 -0.315316 -0.503387 -0.456552 0.075247 -0.023458 -0.036088 -0.186780 0.016194 -0.366879
901 160401 0.0 -0.485369 NaN -0.123588 -0.244911 -0.312881 0.500952 0.937486 0.112238 0.878636 1.878881 1.353232 0.772458 1.306495 0.599841
902 160401 0.0 -0.525130 NaN -0.100659 -0.498671 -0.584155 -0.064947 -0.141737 -0.356259 0.257186 1.169830 0.569993 0.382141 0.505789 0.233453

903 rows × 16 columns


In [148]:
colors={'160321':'r', '160421':'r', '160502':'r', '160503':'r', '160420':'r', '160310':'r',
       '160517':'b', '160525':'b', '160620':'b', '160621':'b', '160622':'b', '160626':'b',
       '160330':'g', '160328':'g', '160428':'g', '160429':'g', '160325':'g', '160401':'g'}

In [142]:
cctrl=nfull[nfull.Mouse.isin(['160310','160321','160421','160502','160503','160420'])]
hexfull=nfull[nfull.Mouse.isin(['160517', '160525', '160620', '160621', '160622', '160626'])]
msfull=nfull[nfull.Mouse.isin(['160330', '160328', '160428', '160429', '160325','160401'])]

In [143]:
cfc=norm_full[norm_full.Mouse.isin(['160310','160321','160421','160502','160503','160420'])]
cfh=norm_full[norm_full.Mouse.isin(['160517', '160525', '160620', '160621', '160622', '160626'])]
cfm=norm_full[norm_full.Mouse.isin(['160330', '160328', '160428', '160429', '160325','160401'])]

In [154]:
(0-0)/0


---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-154-5eb6eef81bfa> in <module>()
----> 1 (0-0)/0

ZeroDivisionError: integer division or modulo by zero

BY MOUSE


In [49]:
#Plot everything by mouse
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot(x='Odor',y='value',hue='Mouse',palette=colors,data=nfull)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse', fontsize=55);
plt.xlabel('Odor', fontsize=48);

In [50]:
#Plot control by mouse
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot('Odor','value',hue='Mouse',data=cctrl)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse - Control', fontsize=55);
plt.xlabel('Odor', fontsize=48);

In [51]:
#Plot everything by mouse - Hexanal
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot('Odor','value',hue='Mouse',data=hexfull)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse - Hexanal', fontsize=55);
plt.xlabel('Odor', fontsize=48);

In [53]:
#Plot everything by mouse - Mint
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot('Odor','value',hue='Mouse',data=msfull)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse - Mint', fontsize=55);
plt.xlabel('Odor', fontsize=48);

Means


In [110]:
cdf=[]
for x in cfc.Mouse.unique():
    cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].mean(0,skipna=True))


Out[110]:
[THA             1.000000
 MS 0.01         1.033287
 BLANK                NaN
 AP              1.473641
 MS 0.1          1.487072
 MS 0.05         1.420026
 IAA 0.05        1.001290
 IAA 0.01        2.256115
 PA              1.235992
 IAA 0.1         2.093256
 Hexanone        1.999091
 Hexanal 0.1     1.816966
 Hexanal 0.01    1.641427
 Hexanal 0.05    2.249008
 EB              1.628759
 dtype: float64, THA             1.000000
 MS 0.01              inf
 BLANK                inf
 AP                   inf
 MS 0.1               inf
 MS 0.05              inf
 IAA 0.05        2.489138
 IAA 0.01             inf
 PA                   inf
 IAA 0.1              inf
 Hexanone             inf
 Hexanal 0.1          inf
 Hexanal 0.01         inf
 Hexanal 0.05         inf
 EB                   inf
 dtype: float64, THA             1.000000
 MS 0.01              inf
 BLANK                inf
 AP                   inf
 MS 0.1               inf
 MS 0.05              inf
 IAA 0.05             inf
 IAA 0.01             inf
 PA                   inf
 IAA 0.1              inf
 Hexanone             inf
 Hexanal 0.1          inf
 Hexanal 0.01         inf
 Hexanal 0.05         inf
 EB                   inf
 dtype: float64, THA             1.000000
 MS 0.01              inf
 BLANK                inf
 AP                   inf
 MS 0.1               inf
 MS 0.05              inf
 IAA 0.05             inf
 IAA 0.01             inf
 PA                   inf
 IAA 0.1              inf
 Hexanone             inf
 Hexanal 0.1          inf
 Hexanal 0.01         inf
 Hexanal 0.05         inf
 EB                   inf
 dtype: float64, THA             1.000000
 MS 0.01              inf
 BLANK                inf
 AP                   inf
 MS 0.1               inf
 MS 0.05              inf
 IAA 0.05             inf
 IAA 0.01             inf
 PA                   inf
 IAA 0.1              inf
 Hexanone             inf
 Hexanal 0.1          inf
 Hexanal 0.01         inf
 Hexanal 0.05         inf
 EB                   inf
 dtype: float64, THA             1.000000
 MS 0.01         1.123858
 BLANK                NaN
 AP              1.077309
 MS 0.1          1.395556
 MS 0.05         1.633826
 IAA 0.05        1.440026
 IAA 0.01        1.153100
 PA              1.454583
 IAA 0.1         1.543461
 Hexanone        1.393816
 Hexanal 0.1     1.855795
 Hexanal 0.01    1.266521
 Hexanal 0.05    1.848959
 EB              1.760399
 dtype: float64]

In [54]:
cdf=[]
for x in cfc.Mouse.unique():
    cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].mean(0,skipna=True))
cmeandf=pd.concat([pd.DataFrame(cfc.Mouse.unique()),pd.DataFrame(cdf)],axis=1)
cmeandf.columns=cfc.columns
cmeanmelt=pd.melt(cmeandf,"Mouse",var_name="Odor")

mdf=[]
for x in cfm.Mouse.unique():
    mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].mean(0,skipna=True))
mmeandf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
mmeandf.columns=cfm.columns

hdf=[]
for x in cfh.Mouse.unique():
    hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].mean(0,skipna=True))
hmeandf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
hmeandf.columns=cfh.columns
full_mean=pd.melt(pd.concat([cmeandf,mmeandf,hmeandf],ignore_index=True),'Mouse',var_name='Odor')

In [103]:
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='Mouse',palette=colors,data=full_mean)
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('Mean, By Mouse', fontsize=55);
plt.xlabel('Odor', fontsize=48);

Medians


In [56]:
cdf=[]
for x in cfc.Mouse.unique():
    cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].median(0,skipna=True))
cmeddf=pd.concat([pd.DataFrame(cfc.Mouse.unique()),pd.DataFrame(cdf)],axis=1)
cmeddf.columns=cfc.columns
cmedmelt=pd.melt(cmeandf,"Mouse",var_name="Odor")

mdf=[]
for x in cfm.Mouse.unique():
    mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].median(0,skipna=True))
mmeddf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
mmeddf.columns=cfm.columns

hdf=[]
for x in cfh.Mouse.unique():
    hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].median(0,skipna=True))
hmeddf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
hmeddf.columns=cfh.columns
full_med=pd.melt(pd.concat([cmeddf,mmeddf,hmeddf],ignore_index=True),'Mouse',var_name='Odor')

In [57]:
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='Mouse',palette=colors,data=full_med)
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('Median, By Mouse', fontsize=55);
plt.xlabel('Odor', fontsize=48);

STD and COV


In [96]:
#Individual Animal COV
cdf=[]
for x in cfc.Mouse.unique():
    cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].std(0,skipna=True))
cstddf=pd.concat([pd.DataFrame(cfc.Mouse.unique()),pd.DataFrame(cdf)],axis=1)
cstddf.columns=cfc.columns
cstdmelt=pd.melt(cmeandf,"Mouse",var_name="Odor")

mdf=[]
for x in cfm.Mouse.unique():
    mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].std(0,skipna=True))
mstddf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
mstddf.columns=cfm.columns

hdf=[]
for x in cfh.Mouse.unique():
    hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].std(0,skipna=True))
hstddf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
hstddf.columns=cfh.columns
full_std=pd.melt(pd.concat([cstddf,mstddf,hstddf],ignore_index=True),'Mouse',var_name='Odor')
full_cov=pd.concat([full_std.Mouse,full_std.Odor,full_std.value.div(full_mean.value,axis=0)],axis=1)

In [102]:
cdf


Out[102]:
[THA             0.000000
 MS 0.01         0.757610
 BLANK                NaN
 AP              1.507385
 MS 0.1          1.341805
 MS 0.05         1.012645
 IAA 0.05        0.630227
 IAA 0.01        1.573664
 PA              0.633256
 IAA 0.1         1.403539
 Hexanone        1.631367
 Hexanal 0.1     1.989812
 Hexanal 0.01    1.075857
 Hexanal 0.05    1.545958
 EB              1.062574
 dtype: float64, THA             0.000000
 MS 0.01              NaN
 BLANK                NaN
 AP                   NaN
 MS 0.1               NaN
 MS 0.05              NaN
 IAA 0.05        1.342485
 IAA 0.01             NaN
 PA                   NaN
 IAA 0.1              NaN
 Hexanone             NaN
 Hexanal 0.1          NaN
 Hexanal 0.01         NaN
 Hexanal 0.05         NaN
 EB                   NaN
 dtype: float64, THA             0.0
 MS 0.01         NaN
 BLANK           NaN
 AP              NaN
 MS 0.1          NaN
 MS 0.05         NaN
 IAA 0.05        NaN
 IAA 0.01        NaN
 PA              NaN
 IAA 0.1         NaN
 Hexanone        NaN
 Hexanal 0.1     NaN
 Hexanal 0.01    NaN
 Hexanal 0.05    NaN
 EB              NaN
 dtype: float64, THA             0.0
 MS 0.01         NaN
 BLANK           NaN
 AP              NaN
 MS 0.1          NaN
 MS 0.05         NaN
 IAA 0.05        NaN
 IAA 0.01        NaN
 PA              NaN
 IAA 0.1         NaN
 Hexanone        NaN
 Hexanal 0.1     NaN
 Hexanal 0.01    NaN
 Hexanal 0.05    NaN
 EB              NaN
 dtype: float64, THA             0.0
 MS 0.01         NaN
 BLANK           NaN
 AP              NaN
 MS 0.1          NaN
 MS 0.05         NaN
 IAA 0.05        NaN
 IAA 0.01        NaN
 PA              NaN
 IAA 0.1         NaN
 Hexanone        NaN
 Hexanal 0.1     NaN
 Hexanal 0.01    NaN
 Hexanal 0.05    NaN
 EB              NaN
 dtype: float64, THA             0.000000
 MS 0.01         0.345767
 BLANK                NaN
 AP              0.328298
 MS 0.1          0.306777
 MS 0.05         0.624721
 IAA 0.05        0.351448
 IAA 0.01        0.397551
 PA              0.873797
 IAA 0.1         0.463185
 Hexanone        0.419391
 Hexanal 0.1     0.558340
 Hexanal 0.01    0.402081
 Hexanal 0.05    0.541222
 EB              0.706610
 dtype: float64]

In [60]:
#Get Averages
c_ave=pd.DataFrame(cstddf[odorlist].div(cmeandf[odorlist]).mean())
c_ave.columns=['Control']
m_ave=pd.DataFrame(mstddf[odorlist].div(mmeandf[odorlist]).mean())
m_ave.columns=['Mint']
h_ave=pd.DataFrame(hstddf[odorlist].div(hmeandf[odorlist]).mean())
h_ave.columns=['Hexanal']

full_ave=pd.concat([c_ave,m_ave,h_ave],axis=1)
full_ave=full_ave.reset_index()
full_ave.columns=['Odor','Control','Mint','Hexanal']

avemelt=pd.melt(full_ave,'Odor')

In [101]:
full_std


Out[101]:
Mouse Odor value
0 160321 THA 0.000000
1 160421 THA 0.000000
2 160502 THA 0.000000
3 160503 THA 0.000000
4 160420 THA 0.000000
5 160310 THA 0.000000
6 160330 THA 0.000000
7 160328 THA 0.000000
8 160428 THA 0.000000
9 160429 THA 0.000000
10 160325 THA 0.000000
11 160401 THA 0.000000
12 160517 THA 0.000000
13 160525 THA 0.000000
14 160620 THA 0.000000
15 160621 THA 0.000000
16 160622 THA 0.000000
17 160626 THA 0.000000
18 160321 MS 0.01 0.757610
19 160421 MS 0.01 NaN
20 160502 MS 0.01 NaN
21 160503 MS 0.01 NaN
22 160420 MS 0.01 NaN
23 160310 MS 0.01 0.345767
24 160330 MS 0.01 NaN
25 160328 MS 0.01 0.337218
26 160428 MS 0.01 1.103910
27 160429 MS 0.01 NaN
28 160325 MS 0.01 NaN
29 160401 MS 0.01 0.227644
... ... ... ...
240 160330 Hexanal 0.05 NaN
241 160328 Hexanal 0.05 0.921842
242 160428 Hexanal 0.05 1.129651
243 160429 Hexanal 0.05 NaN
244 160325 Hexanal 0.05 NaN
245 160401 Hexanal 0.05 1.000476
246 160517 Hexanal 0.05 NaN
247 160525 Hexanal 0.05 NaN
248 160620 Hexanal 0.05 NaN
249 160621 Hexanal 0.05 0.597937
250 160622 Hexanal 0.05 1.088892
251 160626 Hexanal 0.05 0.437708
252 160321 EB 1.062574
253 160421 EB NaN
254 160502 EB NaN
255 160503 EB NaN
256 160420 EB NaN
257 160310 EB 0.706610
258 160330 EB NaN
259 160328 EB 1.716407
260 160428 EB 1.543791
261 160429 EB NaN
262 160325 EB NaN
263 160401 EB 0.563454
264 160517 EB NaN
265 160525 EB NaN
266 160620 EB NaN
267 160621 EB 0.518925
268 160622 EB 1.726638
269 160626 EB 0.683013

270 rows × 3 columns


In [100]:
#PLOT STUFF
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='Mouse',palette=colors,data=full_std)
sns.despine()
plt.ylabel('STD', fontsize=48);
plt.title('STD', fontsize=55);
plt.xlabel('Odor', fontsize=48);

In [90]:
(pd.DataFrame(cfc['Hexanal 0.01'])).std(0,skipna=True)


Out[90]:
Hexanal 0.01   NaN
dtype: float64

In [76]:
#Get Composite COV
pd.DataFrame(cfc[odorlist].std(0,skipna=True))
# cfc_mean=pd.DataFrame(cfc[odorlist].mean(0,skipna=True))
# cfc_cov=cfc_std.div(cfc_mean)

# mfc_std=pd.DataFrame(cfm[odorlist].std(0,skipna=True))
# mfc_mean=pd.DataFrame(cfm[odorlist].mean(0,skipna=True))
# mfc_cov=mfc_std.div(mfc_mean)

# hfc_std=pd.DataFrame(cfh[odorlist].std(0,skipna=True))
# hfc_mean=pd.DataFrame(cfh[odorlist].mean(0,skipna=True))
# hfc_cov=hfc_std.div(hfc_mean)

# cfc_cov.columns=['Control']
# mfc_cov.columns=['Mint']
# hfc_cov.columns=['Hexanal']

# full=pd.concat([cfc_cov,mfc_cov,hfc_cov],axis=1)
# full=full.reset_index()
# full.columns=['Odor','Control','Mint','Hexanal']

# fullmelt=pd.melt(full,'Odor')
# fullmelt.head()
# cstdall.columns=cfc.columns

# mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].std(0,skipna=True))
# mstddf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
# mstddf.columns=cfm.columns

# hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].std(0,skipna=True))
# hstddf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
# hstddf.columns=cfh.columns
# full_std=pd.melt(pd.concat([cstddf,mstddf,hstddf],ignore_index=True),'Mouse',var_name='Odor')
# full_cov=pd.concat([full_std.Mouse,full_std.Odor,full_std.value.div(full_mean.value,axis=0)],axis=1)


Out[76]:
0
THA 0.0
MS 0.01 NaN
BLANK NaN
AP NaN
MS 0.1 NaN
MS 0.05 NaN
IAA 0.05 NaN
IAA 0.01 NaN
PA NaN
IAA 0.1 NaN
Hexanone NaN
Hexanal 0.1 NaN
Hexanal 0.01 NaN
Hexanal 0.05 NaN
EB NaN

In [74]:
cfc_std


Out[74]:
0
THA 0.0
MS 0.01 NaN
BLANK NaN
AP NaN
MS 0.1 NaN
MS 0.05 NaN
IAA 0.05 NaN
IAA 0.01 NaN
PA NaN
IAA 0.1 NaN
Hexanone NaN
Hexanal 0.1 NaN
Hexanal 0.01 NaN
Hexanal 0.05 NaN
EB NaN

In [63]:
#PLOT STUFF
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='variable',palette={'Control':'r','Hexanal':'b','Mint':'g'},data=fullmelt)
sns.despine()
plt.ylabel('COV', fontsize=48);
plt.title('COV, Complete', fontsize=55);
plt.xlabel('Odor', fontsize=48);

In [ ]: