FIZ353 - Numerical Analysis | 16/10/2020
Emre S. Tasci emre.tasci@hacettepe.edu.tr
It's always beneficial to check the data before and after we process it as it can offer some hidden relations or the picking of off values. Even though the matplotlib module offers elasticity, unfortunately it is not known for its practicality. Wrappers like the seaborn module provide functionality with ease.
Let's try to do it old way, using numpy & matplotlib. As we have observed in our previous lecture, since numpy arrays can not (by default) store elements of different types, our string timestamps are lost in import.
import numpy as np
data_np = np.genfromtxt("01_dataexport_20201008T180753.csv", delimiter=',',
filling_values=0.0,skip_header=10)
data_np
array([[ 0. , 12.437169 , 59. , 0. ],
[ 0. , 12.557169 , 63. , 0. ],
[ 0. , 13.177169 , 68. , 0. ],
[ 0. , 13.087169 , 76. , 0. ],
[ 0. , 12.867169 , 81. , 0. ],
[ 0. , 11.567169 , 88. , 0. ],
[ 0. , 11.177169 , 90. , 0. ],
[ 0. , 12.187169 , 87. , 0. ],
[ 0. , 13.797169 , 78. , 0. ],
[ 0. , 14.967169 , 72. , 0. ],
[ 0. , 16.787169 , 62. , 0. ],
[ 0. , 18.367168 , 55. , 0. ],
[ 0. , 20.957169 , 41. , 0. ],
[ 0. , 22.057169 , 36. , 0. ],
[ 0. , 22.857168 , 33. , 0. ],
[ 0. , 23.527168 , 29. , 0. ],
[ 0. , 23.40717 , 28. , 0. ],
[ 0. , 22.687168 , 28. , 0. ],
[ 0. , 21.41717 , 30. , 0. ],
[ 0. , 18.537169 , 35. , 0. ],
[ 0. , 16.797169 , 39. , 0. ],
[ 0. , 14.717169 , 44. , 0. ],
[ 0. , 12.627169 , 54. , 0. ],
[ 0. , 11.187169 , 64. , 0. ],
[ 0. , 9.9971695, 72. , 0. ],
[ 0. , 9.057169 , 80. , 0. ],
[ 0. , 8.357169 , 86. , 0. ],
[ 0. , 7.727169 , 89. , 0. ],
[ 0. , 7.307169 , 90. , 0. ],
[ 0. , 7.107169 , 92. , 0. ],
[ 0. , 7.177169 , 91. , 0. ],
[ 0. , 7.1271687, 90. , 0. ],
[ 0. , 9.537169 , 76. , 0. ],
[ 0. , 13.377169 , 64. , 0. ],
[ 0. , 16.73717 , 52. , 0. ],
[ 0. , 19.697168 , 38. , 0. ],
[ 0. , 21.047169 , 29. , 0. ],
[ 0. , 22.027168 , 26. , 0. ],
[ 0. , 22.787169 , 23. , 0. ],
[ 0. , 23.187168 , 22. , 0. ],
[ 0. , 23.037169 , 20. , 0. ],
[ 0. , 22.357168 , 21. , 0. ],
[ 0. , 20.83717 , 23. , 0. ],
[ 0. , 18.64717 , 26. , 0. ],
[ 0. , 17.67717 , 28. , 0. ],
[ 0. , 16.98717 , 29. , 0. ],
[ 0. , 16.087168 , 31. , 0. ],
[ 0. , 15.297169 , 33. , 0. ],
[ 0. , 13.867169 , 36. , 0. ],
[ 0. , 12.397169 , 41. , 0. ],
[ 0. , 11.107169 , 46. , 0. ],
[ 0. , 10.157169 , 51. , 0. ],
[ 0. , 10.587169 , 51. , 0. ],
[ 0. , 10.507169 , 50. , 0. ],
[ 0. , 10.147169 , 49. , 0. ],
[ 0. , 9.617169 , 47. , 0. ],
[ 0. , 11.397169 , 42. , 0. ],
[ 0. , 16.32717 , 31. , 0. ],
[ 0. , 20.09717 , 24. , 0. ],
[ 0. , 21.947168 , 21. , 0. ],
[ 0. , 23.217169 , 19. , 0. ],
[ 0. , 24.187168 , 18. , 0. ],
[ 0. , 24.887169 , 16. , 0. ],
[ 0. , 25.297169 , 16. , 0. ],
[ 0. , 25.16717 , 15. , 0. ],
[ 0. , 24.477169 , 16. , 0. ],
[ 0. , 22.58717 , 19. , 0. ],
[ 0. , 20.83717 , 21. , 0. ],
[ 0. , 19.797169 , 23. , 0. ],
[ 0. , 18.447168 , 25. , 0. ],
[ 0. , 16.707169 , 29. , 0. ],
[ 0. , 14.087169 , 35. , 0. ],
[ 0. , 11.627169 , 44. , 0. ],
[ 0. , 9.607169 , 57. , 0. ],
[ 0. , 8.857169 , 65. , 0. ],
[ 0. , 8.597169 , 70. , 0. ],
[ 0. , 10.287169 , 62. , 0. ],
[ 0. , 11.367169 , 55. , 0. ],
[ 0. , 11.787169 , 51. , 0. ],
[ 0. , 11.687169 , 50. , 0. ],
[ 0. , 12.857169 , 46. , 0. ],
[ 0. , 17.277168 , 35. , 0. ],
[ 0. , 20.51717 , 28. , 0. ],
[ 0. , 22.697168 , 25. , 0. ],
[ 0. , 24.217169 , 21. , 0. ],
[ 0. , 25.527168 , 18. , 0. ],
[ 0. , 26.48717 , 15. , 0. ],
[ 0. , 27.06717 , 14. , 0. ],
[ 0. , 27.06717 , 14. , 0. ],
[ 0. , 26.48717 , 15. , 0. ],
[ 0. , 24.357168 , 17. , 0. ],
[ 0. , 22.057169 , 20. , 0. ],
[ 0. , 20.31717 , 23. , 0. ],
[ 0. , 18.31717 , 27. , 0. ],
[ 0. , 15.907169 , 32. , 0. ],
[ 0. , 13.397169 , 38. , 0. ],
[ 0. , 11.437169 , 46. , 0. ],
[ 0. , 10.687169 , 50. , 0. ],
[ 0. , 10.317169 , 54. , 0. ],
[ 0. , 10.107169 , 55. , 0. ],
[ 0. , 11.477169 , 51. , 0. ],
[ 0. , 12.227169 , 48. , 0. ],
[ 0. , 12.567169 , 46. , 0. ],
[ 0. , 12.347169 , 46. , 0. ],
[ 0. , 13.457169 , 42. , 0. ],
[ 0. , 17.947168 , 32. , 0. ],
[ 0. , 21.64717 , 25. , 0. ],
[ 0. , 24.447168 , 21. , 0. ],
[ 0. , 27.00717 , 18. , 0. ],
[ 0. , 29.07717 , 15. , 0. ],
[ 0. , 30.67717 , 14. , 0. ],
[ 0. , 31.867168 , 13. , 0. ],
[ 0. , 31.697168 , 14. , 0. ],
[ 0. , 30.627169 , 15. , 0. ],
[ 0. , 28.06717 , 19. , 0. ],
[ 0. , 25.797169 , 23. , 0. ],
[ 0. , 22.367168 , 29. , 0. ],
[ 0. , 18.81717 , 36. , 0. ],
[ 0. , 16.58717 , 42. , 0. ],
[ 0. , 15.387169 , 45. , 0. ],
[ 0. , 14.857169 , 47. , 0. ],
[ 0. , 14.467169 , 49. , 0. ],
[ 0. , 14.337169 , 50. , 0. ],
[ 0. , 14.147169 , 51. , 0. ],
[ 0. , 15.477169 , 47. , 0. ],
[ 0. , 16.107168 , 46. , 0. ],
[ 0. , 16.297169 , 45. , 0. ],
[ 0. , 16.097168 , 46. , 0. ],
[ 0. , 17.227169 , 43. , 0. ],
[ 0. , 21.34717 , 33. , 0. ],
[ 0. , 25.057169 , 27. , 0. ],
[ 0. , 28.187168 , 22. , 0. ],
[ 0. , 30.57717 , 18. , 0. ],
[ 0. , 31.84717 , 16. , 0. ],
[ 0. , 32.27717 , 15. , 0. ],
[ 0. , 32.33717 , 15. , 0. ],
[ 0. , 31.947168 , 15. , 0. ],
[ 0. , 30.807169 , 16. , 0. ],
[ 0. , 28.65717 , 19. , 0. ],
[ 0. , 26.527168 , 22. , 0. ],
[ 0. , 22.297169 , 29. , 0. ],
[ 0. , 19.40717 , 35. , 0. ],
[ 0. , 17.01717 , 42. , 0. ],
[ 0. , 15.407169 , 48. , 0. ],
[ 0. , 14.817169 , 51. , 0. ],
[ 0. , 14.7471695, 51. , 0. ],
[ 0. , 14.847169 , 51. , 0. ],
[ 0. , 15.127169 , 49. , 0. ],
[ 0. , 16.49717 , 44. , 0. ],
[ 0. , 17.00717 , 42. , 0. ],
[ 0. , 17.16717 , 41. , 0. ],
[ 0. , 17.07717 , 42. , 0. ],
[ 0. , 18.32717 , 39. , 0. ],
[ 0. , 22.24717 , 31. , 0. ],
[ 0. , 25.92717 , 25. , 0. ],
[ 0. , 28.807169 , 20. , 0. ],
[ 0. , 30.807169 , 18. , 0. ],
[ 0. , 31.717169 , 17. , 0. ],
[ 0. , 32.057167 , 16. , 0. ],
[ 0. , 32.107166 , 15. , 0. ],
[ 0. , 31.39717 , 15. , 0. ],
[ 0. , 30.33717 , 17. , 0. ],
[ 0. , 28.56717 , 20. , 0. ],
[ 0. , 27.07717 , 22. , 0. ],
[ 0. , 26.34717 , 24. , 0. ],
[ 0. , 25.867168 , 24. , 0. ],
[ 0. , 24.947168 , 26. , 0. ],
[ 0. , 24.117168 , 27. , 0. ],
[ 0. , 24.047169 , 28. , 0. ],
[ 0. , 22.50717 , 30. , 0. ],
[ 0. , 21.047169 , 33. , 0. ],
[ 0. , 19.51717 , 37. , 0. ],
[ 0. , 18.447168 , 40. , 0. ],
[ 0. , 17.41717 , 44. , 0. ],
[ 0. , 16.59717 , 50. , 0. ],
[ 0. , 15.627169 , 57. , 0. ],
[ 0. , 17.15717 , 52. , 0. ],
[ 0. , 22.51717 , 36. , 0. ],
[ 0. , 25.977169 , 30. , 0. ],
[ 0. , 28.51717 , 26. , 0. ],
[ 0. , 29.56717 , 24. , 0. ],
[ 0. , 29.137169 , 19. , 0. ],
[ 0. , 30.00717 , 17. , 0. ],
[ 0. , 30.287169 , 16. , 0. ],
[ 0. , 30.357168 , 16. , 0. ],
[ 0. , 29.857168 , 16. , 0. ],
[ 0. , 28.33717 , 18. , 0. ],
[ 0. , 26.437168 , 20. , 0. ],
[ 0. , 25.56717 , 21. , 0. ],
[ 0. , 24.777168 , 22. , 0. ],
[ 0. , 23.627169 , 24. , 0. ],
[ 0. , 22.727169 , 27. , 0. ]])
data_np.shape
(192, 4)
We're going to implement meaningful indexes as the first column, by joining the day index with the hour - mind that this wouldn't be too productive if we had more than 10 days (and why is that? and how would you fix it?)
for d in range(1,11):
for h in range(0,12):
print("1{:02d}{:02d}".format(d,h))
10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011
i = 0
for d in range(1,9):
for h in range(0,24):
data_np[i,0] = "{:d}{:02d}".format(d,h)
i += 1
data_np
array([[100. , 12.437169 , 59. , 0. ],
[101. , 12.557169 , 63. , 0. ],
[102. , 13.177169 , 68. , 0. ],
[103. , 13.087169 , 76. , 0. ],
[104. , 12.867169 , 81. , 0. ],
[105. , 11.567169 , 88. , 0. ],
[106. , 11.177169 , 90. , 0. ],
[107. , 12.187169 , 87. , 0. ],
[108. , 13.797169 , 78. , 0. ],
[109. , 14.967169 , 72. , 0. ],
[110. , 16.787169 , 62. , 0. ],
[111. , 18.367168 , 55. , 0. ],
[112. , 20.957169 , 41. , 0. ],
[113. , 22.057169 , 36. , 0. ],
[114. , 22.857168 , 33. , 0. ],
[115. , 23.527168 , 29. , 0. ],
[116. , 23.40717 , 28. , 0. ],
[117. , 22.687168 , 28. , 0. ],
[118. , 21.41717 , 30. , 0. ],
[119. , 18.537169 , 35. , 0. ],
[120. , 16.797169 , 39. , 0. ],
[121. , 14.717169 , 44. , 0. ],
[122. , 12.627169 , 54. , 0. ],
[123. , 11.187169 , 64. , 0. ],
[200. , 9.9971695, 72. , 0. ],
[201. , 9.057169 , 80. , 0. ],
[202. , 8.357169 , 86. , 0. ],
[203. , 7.727169 , 89. , 0. ],
[204. , 7.307169 , 90. , 0. ],
[205. , 7.107169 , 92. , 0. ],
[206. , 7.177169 , 91. , 0. ],
[207. , 7.1271687, 90. , 0. ],
[208. , 9.537169 , 76. , 0. ],
[209. , 13.377169 , 64. , 0. ],
[210. , 16.73717 , 52. , 0. ],
[211. , 19.697168 , 38. , 0. ],
[212. , 21.047169 , 29. , 0. ],
[213. , 22.027168 , 26. , 0. ],
[214. , 22.787169 , 23. , 0. ],
[215. , 23.187168 , 22. , 0. ],
[216. , 23.037169 , 20. , 0. ],
[217. , 22.357168 , 21. , 0. ],
[218. , 20.83717 , 23. , 0. ],
[219. , 18.64717 , 26. , 0. ],
[220. , 17.67717 , 28. , 0. ],
[221. , 16.98717 , 29. , 0. ],
[222. , 16.087168 , 31. , 0. ],
[223. , 15.297169 , 33. , 0. ],
[300. , 13.867169 , 36. , 0. ],
[301. , 12.397169 , 41. , 0. ],
[302. , 11.107169 , 46. , 0. ],
[303. , 10.157169 , 51. , 0. ],
[304. , 10.587169 , 51. , 0. ],
[305. , 10.507169 , 50. , 0. ],
[306. , 10.147169 , 49. , 0. ],
[307. , 9.617169 , 47. , 0. ],
[308. , 11.397169 , 42. , 0. ],
[309. , 16.32717 , 31. , 0. ],
[310. , 20.09717 , 24. , 0. ],
[311. , 21.947168 , 21. , 0. ],
[312. , 23.217169 , 19. , 0. ],
[313. , 24.187168 , 18. , 0. ],
[314. , 24.887169 , 16. , 0. ],
[315. , 25.297169 , 16. , 0. ],
[316. , 25.16717 , 15. , 0. ],
[317. , 24.477169 , 16. , 0. ],
[318. , 22.58717 , 19. , 0. ],
[319. , 20.83717 , 21. , 0. ],
[320. , 19.797169 , 23. , 0. ],
[321. , 18.447168 , 25. , 0. ],
[322. , 16.707169 , 29. , 0. ],
[323. , 14.087169 , 35. , 0. ],
[400. , 11.627169 , 44. , 0. ],
[401. , 9.607169 , 57. , 0. ],
[402. , 8.857169 , 65. , 0. ],
[403. , 8.597169 , 70. , 0. ],
[404. , 10.287169 , 62. , 0. ],
[405. , 11.367169 , 55. , 0. ],
[406. , 11.787169 , 51. , 0. ],
[407. , 11.687169 , 50. , 0. ],
[408. , 12.857169 , 46. , 0. ],
[409. , 17.277168 , 35. , 0. ],
[410. , 20.51717 , 28. , 0. ],
[411. , 22.697168 , 25. , 0. ],
[412. , 24.217169 , 21. , 0. ],
[413. , 25.527168 , 18. , 0. ],
[414. , 26.48717 , 15. , 0. ],
[415. , 27.06717 , 14. , 0. ],
[416. , 27.06717 , 14. , 0. ],
[417. , 26.48717 , 15. , 0. ],
[418. , 24.357168 , 17. , 0. ],
[419. , 22.057169 , 20. , 0. ],
[420. , 20.31717 , 23. , 0. ],
[421. , 18.31717 , 27. , 0. ],
[422. , 15.907169 , 32. , 0. ],
[423. , 13.397169 , 38. , 0. ],
[500. , 11.437169 , 46. , 0. ],
[501. , 10.687169 , 50. , 0. ],
[502. , 10.317169 , 54. , 0. ],
[503. , 10.107169 , 55. , 0. ],
[504. , 11.477169 , 51. , 0. ],
[505. , 12.227169 , 48. , 0. ],
[506. , 12.567169 , 46. , 0. ],
[507. , 12.347169 , 46. , 0. ],
[508. , 13.457169 , 42. , 0. ],
[509. , 17.947168 , 32. , 0. ],
[510. , 21.64717 , 25. , 0. ],
[511. , 24.447168 , 21. , 0. ],
[512. , 27.00717 , 18. , 0. ],
[513. , 29.07717 , 15. , 0. ],
[514. , 30.67717 , 14. , 0. ],
[515. , 31.867168 , 13. , 0. ],
[516. , 31.697168 , 14. , 0. ],
[517. , 30.627169 , 15. , 0. ],
[518. , 28.06717 , 19. , 0. ],
[519. , 25.797169 , 23. , 0. ],
[520. , 22.367168 , 29. , 0. ],
[521. , 18.81717 , 36. , 0. ],
[522. , 16.58717 , 42. , 0. ],
[523. , 15.387169 , 45. , 0. ],
[600. , 14.857169 , 47. , 0. ],
[601. , 14.467169 , 49. , 0. ],
[602. , 14.337169 , 50. , 0. ],
[603. , 14.147169 , 51. , 0. ],
[604. , 15.477169 , 47. , 0. ],
[605. , 16.107168 , 46. , 0. ],
[606. , 16.297169 , 45. , 0. ],
[607. , 16.097168 , 46. , 0. ],
[608. , 17.227169 , 43. , 0. ],
[609. , 21.34717 , 33. , 0. ],
[610. , 25.057169 , 27. , 0. ],
[611. , 28.187168 , 22. , 0. ],
[612. , 30.57717 , 18. , 0. ],
[613. , 31.84717 , 16. , 0. ],
[614. , 32.27717 , 15. , 0. ],
[615. , 32.33717 , 15. , 0. ],
[616. , 31.947168 , 15. , 0. ],
[617. , 30.807169 , 16. , 0. ],
[618. , 28.65717 , 19. , 0. ],
[619. , 26.527168 , 22. , 0. ],
[620. , 22.297169 , 29. , 0. ],
[621. , 19.40717 , 35. , 0. ],
[622. , 17.01717 , 42. , 0. ],
[623. , 15.407169 , 48. , 0. ],
[700. , 14.817169 , 51. , 0. ],
[701. , 14.7471695, 51. , 0. ],
[702. , 14.847169 , 51. , 0. ],
[703. , 15.127169 , 49. , 0. ],
[704. , 16.49717 , 44. , 0. ],
[705. , 17.00717 , 42. , 0. ],
[706. , 17.16717 , 41. , 0. ],
[707. , 17.07717 , 42. , 0. ],
[708. , 18.32717 , 39. , 0. ],
[709. , 22.24717 , 31. , 0. ],
[710. , 25.92717 , 25. , 0. ],
[711. , 28.807169 , 20. , 0. ],
[712. , 30.807169 , 18. , 0. ],
[713. , 31.717169 , 17. , 0. ],
[714. , 32.057167 , 16. , 0. ],
[715. , 32.107166 , 15. , 0. ],
[716. , 31.39717 , 15. , 0. ],
[717. , 30.33717 , 17. , 0. ],
[718. , 28.56717 , 20. , 0. ],
[719. , 27.07717 , 22. , 0. ],
[720. , 26.34717 , 24. , 0. ],
[721. , 25.867168 , 24. , 0. ],
[722. , 24.947168 , 26. , 0. ],
[723. , 24.117168 , 27. , 0. ],
[800. , 24.047169 , 28. , 0. ],
[801. , 22.50717 , 30. , 0. ],
[802. , 21.047169 , 33. , 0. ],
[803. , 19.51717 , 37. , 0. ],
[804. , 18.447168 , 40. , 0. ],
[805. , 17.41717 , 44. , 0. ],
[806. , 16.59717 , 50. , 0. ],
[807. , 15.627169 , 57. , 0. ],
[808. , 17.15717 , 52. , 0. ],
[809. , 22.51717 , 36. , 0. ],
[810. , 25.977169 , 30. , 0. ],
[811. , 28.51717 , 26. , 0. ],
[812. , 29.56717 , 24. , 0. ],
[813. , 29.137169 , 19. , 0. ],
[814. , 30.00717 , 17. , 0. ],
[815. , 30.287169 , 16. , 0. ],
[816. , 30.357168 , 16. , 0. ],
[817. , 29.857168 , 16. , 0. ],
[818. , 28.33717 , 18. , 0. ],
[819. , 26.437168 , 20. , 0. ],
[820. , 25.56717 , 21. , 0. ],
[821. , 24.777168 , 22. , 0. ],
[822. , 23.627169 , 24. , 0. ],
[823. , 22.727169 , 27. , 0. ]])
...and here comes the basic plot:
import matplotlib.pyplot as plt
plt.plot(data_np[:,0],data_np[:,1],"b-s")
plt.title("Graph via Matplotlib")
plt.xlabel("DayHour")
plt.ylabel("Temperature")
plt.show()
Now that we have experienced the pains of the "old" method, let's revive the technique we have acquired last week: using Pandas to hold the data in a dataframe!
import pandas as pd
pd.set_option('display.min_rows', 10)
pd.set_option('display.max_rows', 10)
data1 = pd.read_csv("01_dataexport_20201008T180753.csv",
skiprows=9)
data1.columns = ['Timestamp','Temperature','Relative Humidity','Precipitation Total']
data1 = data1.set_index('Timestamp')
data1
| Temperature | Relative Humidity | Precipitation Total | |
|---|---|---|---|
| Timestamp | |||
| 20201001T0000 | 12.437169 | 59.0 | 0.0 |
| 20201001T0100 | 12.557169 | 63.0 | 0.0 |
| 20201001T0200 | 13.177169 | 68.0 | 0.0 |
| 20201001T0300 | 13.087169 | 76.0 | 0.0 |
| 20201001T0400 | 12.867169 | 81.0 | 0.0 |
| ... | ... | ... | ... |
| 20201008T1900 | 26.437168 | 20.0 | 0.0 |
| 20201008T2000 | 25.567170 | 21.0 | 0.0 |
| 20201008T2100 | 24.777168 | 22.0 | 0.0 |
| 20201008T2200 | 23.627169 | 24.0 | 0.0 |
| 20201008T2300 | 22.727169 | 27.0 | 0.0 |
192 rows × 3 columns
Even though, it is completely possible to plot dataframe using matplotlib there's actually a much better way to do it: enter the seaborn module!
import seaborn as sns
sns.set_theme() # To make things appear "more beautiful" 8)
# %matplotlib notebook
data1.loc[:,"Precipitation Total"].max()
0.0
Here, it's as simple as it gets! We are just letting seaborne to figure out what we need:
plt1 = sns.relplot(data=data1)
We can easily designate columns to be used for the x & y parameters for our graph:
plt2 = sns.relplot(data=data1,x="Temperature",y="Relative Humidity")
And here is a beauty: by hue and size parameters, we can classify using other column values, making it easier to investigate the dependencies wrt these columns:
plt3 = sns.relplot(data=data1,x="Temperature",y="Relative Humidity",
hue="Temperature",size="Relative Humidity")
And this is our attempt to further classify things by adding the style alas it kind of fails
plt3 = sns.relplot(data=data1,x="Temperature",y="Relative Humidity",
style="Temperature")
Seems that it doesn't like so many classification wrt the values. Luckily we can work around it, by smoothing things out! 8)
import numpy as np
data1
| Temperature | Relative Humidity | Precipitation Total | |
|---|---|---|---|
| Timestamp | |||
| 20201001T0000 | 12.437169 | 59.0 | 0.0 |
| 20201001T0100 | 12.557169 | 63.0 | 0.0 |
| 20201001T0200 | 13.177169 | 68.0 | 0.0 |
| 20201001T0300 | 13.087169 | 76.0 | 0.0 |
| 20201001T0400 | 12.867169 | 81.0 | 0.0 |
| ... | ... | ... | ... |
| 20201008T1900 | 26.437168 | 20.0 | 0.0 |
| 20201008T2000 | 25.567170 | 21.0 | 0.0 |
| 20201008T2100 | 24.777168 | 22.0 | 0.0 |
| 20201008T2200 | 23.627169 | 24.0 | 0.0 |
| 20201008T2300 | 22.727169 | 27.0 | 0.0 |
192 rows × 3 columns
print("T_min: {:.6f}C | T_max: {:.3f}C"
.format(data1.Temperature.min(),data1.Temperature.max()))
T_min: 7.107169C | T_max: 32.337C
data1[data1.Temperature == data1.Temperature.min()]
| Temperature | Relative Humidity | Precipitation Total | |
|---|---|---|---|
| Timestamp | |||
| 20201002T0500 | 7.107169 | 92.0 | 0.0 |
print(data1.index[data1.Temperature==data1.Temperature.min()][0])
20201002T0500
data1.Temperature/10
Timestamp
20201001T0000 1.243717
20201001T0100 1.255717
20201001T0200 1.317717
20201001T0300 1.308717
20201001T0400 1.286717
...
20201008T1900 2.643717
20201008T2000 2.556717
20201008T2100 2.477717
20201008T2200 2.362717
20201008T2300 2.272717
Name: Temperature, Length: 192, dtype: float64
np.floor(data1.Temperature / 10.0) * 10
Timestamp
20201001T0000 10.0
20201001T0100 10.0
20201001T0200 10.0
20201001T0300 10.0
20201001T0400 10.0
...
20201008T1900 20.0
20201008T2000 20.0
20201008T2100 20.0
20201008T2200 20.0
20201008T2300 20.0
Name: Temperature, Length: 192, dtype: float64
data1.Temperature
Timestamp
20201001T0000 12.437169
20201001T0100 12.557169
20201001T0200 13.177169
20201001T0300 13.087169
20201001T0400 12.867169
...
20201008T1900 26.437168
20201008T2000 25.567170
20201008T2100 24.777168
20201008T2200 23.627169
20201008T2300 22.727169
Name: Temperature, Length: 192, dtype: float64
Here we add a new column TempFloor that stores the smoothed out temperature values:
data1['TempFloored'] = np.floor(data1.Temperature / 10.0) * 10
data1
| Temperature | Relative Humidity | Precipitation Total | TempFloored | |
|---|---|---|---|---|
| Timestamp | ||||
| 20201001T0000 | 12.437169 | 59.0 | 0.0 | 10.0 |
| 20201001T0100 | 12.557169 | 63.0 | 0.0 | 10.0 |
| 20201001T0200 | 13.177169 | 68.0 | 0.0 | 10.0 |
| 20201001T0300 | 13.087169 | 76.0 | 0.0 | 10.0 |
| 20201001T0400 | 12.867169 | 81.0 | 0.0 | 10.0 |
| ... | ... | ... | ... | ... |
| 20201008T1900 | 26.437168 | 20.0 | 0.0 | 20.0 |
| 20201008T2000 | 25.567170 | 21.0 | 0.0 | 20.0 |
| 20201008T2100 | 24.777168 | 22.0 | 0.0 | 20.0 |
| 20201008T2200 | 23.627169 | 24.0 | 0.0 | 20.0 |
| 20201008T2300 | 22.727169 | 27.0 | 0.0 | 20.0 |
192 rows × 4 columns
and voilà !
plt4 = sns.relplot(data=data1,x="Temperature",y="Relative Humidity",
style="TempFloored")
Enough with the scatter plots, lets connect the dots with the kind parameter:
plt4 = sns.relplot(data=data1,x="Timestamp",y="Temperature", kind="line", marker="^")
Here is the same thing without the markers:
plt4_2 = sns.relplot(data=data1,x="Timestamp",y="Temperature", kind="line")
data1
| Temperature | Relative Humidity | Precipitation Total | TempFloored | |
|---|---|---|---|---|
| Timestamp | ||||
| 20201001T0000 | 12.437169 | 59.0 | 0.0 | 10.0 |
| 20201001T0100 | 12.557169 | 63.0 | 0.0 | 10.0 |
| 20201001T0200 | 13.177169 | 68.0 | 0.0 | 10.0 |
| 20201001T0300 | 13.087169 | 76.0 | 0.0 | 10.0 |
| 20201001T0400 | 12.867169 | 81.0 | 0.0 | 10.0 |
| ... | ... | ... | ... | ... |
| 20201008T1900 | 26.437168 | 20.0 | 0.0 | 20.0 |
| 20201008T2000 | 25.567170 | 21.0 | 0.0 | 20.0 |
| 20201008T2100 | 24.777168 | 22.0 | 0.0 | 20.0 |
| 20201008T2200 | 23.627169 | 24.0 | 0.0 | 20.0 |
| 20201008T2300 | 22.727169 | 27.0 | 0.0 | 20.0 |
192 rows × 4 columns
Let's further classify such that those entries with their humidity above the mean value will be labeled as "humid", whereas those below will be "dry".
Therefore, we have to start with calculating the mean:
data1["Relative Humidity"].mean()
37.390625
and we define a new column for the job:
data1['RHClass'] = 0
data1
| Temperature | Relative Humidity | Precipitation Total | TempFloored | RHClass | |
|---|---|---|---|---|---|
| Timestamp | |||||
| 20201001T0000 | 12.437169 | 59.0 | 0.0 | 10.0 | 0 |
| 20201001T0100 | 12.557169 | 63.0 | 0.0 | 10.0 | 0 |
| 20201001T0200 | 13.177169 | 68.0 | 0.0 | 10.0 | 0 |
| 20201001T0300 | 13.087169 | 76.0 | 0.0 | 10.0 | 0 |
| 20201001T0400 | 12.867169 | 81.0 | 0.0 | 10.0 | 0 |
| ... | ... | ... | ... | ... | ... |
| 20201008T1900 | 26.437168 | 20.0 | 0.0 | 20.0 | 0 |
| 20201008T2000 | 25.567170 | 21.0 | 0.0 | 20.0 | 0 |
| 20201008T2100 | 24.777168 | 22.0 | 0.0 | 20.0 | 0 |
| 20201008T2200 | 23.627169 | 24.0 | 0.0 | 20.0 | 0 |
| 20201008T2300 | 22.727169 | 27.0 | 0.0 | 20.0 | 0 |
192 rows × 5 columns
How do we single out the ones that have their humidity above the average? By filtering of course! 8)
mask = data1['Relative Humidity']>37
data1.loc[mask,'RHClass']
Timestamp
20201001T0000 0
20201001T0100 0
20201001T0200 0
20201001T0300 0
20201001T0400 0
..
20201008T0400 0
20201008T0500 0
20201008T0600 0
20201008T0700 0
20201008T0800 0
Name: RHClass, Length: 83, dtype: int64
mask
Timestamp
20201001T0000 True
20201001T0100 True
20201001T0200 True
20201001T0300 True
20201001T0400 True
...
20201008T1900 False
20201008T2000 False
20201008T2100 False
20201008T2200 False
20201008T2300 False
Name: Relative Humidity, Length: 192, dtype: bool
np.invert(mask)
Timestamp
20201001T0000 False
20201001T0100 False
20201001T0200 False
20201001T0300 False
20201001T0400 False
...
20201008T1900 True
20201008T2000 True
20201008T2100 True
20201008T2200 True
20201008T2300 True
Name: Relative Humidity, Length: 192, dtype: bool
So, we fill the 'RHClass' column of the ones above the mean with "humid"; and with "dry" for the others (please observe how we invert the booleans with the "invert").
data1.loc[mask,'RHClass'] = 'humid'
data1.loc[np.invert(mask),'RHClass'] = 'dry'
data1
| Temperature | Relative Humidity | Precipitation Total | TempFloored | RHClass | |
|---|---|---|---|---|---|
| Timestamp | |||||
| 20201001T0000 | 12.437169 | 59.0 | 0.0 | 10.0 | humid |
| 20201001T0100 | 12.557169 | 63.0 | 0.0 | 10.0 | humid |
| 20201001T0200 | 13.177169 | 68.0 | 0.0 | 10.0 | humid |
| 20201001T0300 | 13.087169 | 76.0 | 0.0 | 10.0 | humid |
| 20201001T0400 | 12.867169 | 81.0 | 0.0 | 10.0 | humid |
| ... | ... | ... | ... | ... | ... |
| 20201008T1900 | 26.437168 | 20.0 | 0.0 | 20.0 | dry |
| 20201008T2000 | 25.567170 | 21.0 | 0.0 | 20.0 | dry |
| 20201008T2100 | 24.777168 | 22.0 | 0.0 | 20.0 | dry |
| 20201008T2200 | 23.627169 | 24.0 | 0.0 | 20.0 | dry |
| 20201008T2300 | 22.727169 | 27.0 | 0.0 | 20.0 | dry |
192 rows × 5 columns
plt5 = sns.relplot(data=data1,x="Timestamp",y="Temperature", kind="line",
style="RHClass", hue="RHClass")
(plt5.map(plt.axhline,y = 10, color=".5", dashes=(2, 1), zorder=0)
.set_axis_labels("Day Hour", "Temperature")
.fig.suptitle("Test Graph"))
Text(0.5, 0.98, 'Test Graph')
plt5 = sns.relplot(data=data1,x="Timestamp", y="Temperature", kind="line",
col="RHClass")
Histogram bars are also essential - especially if we are dealing with distributions.
plt6 = sns.displot(data=data1,x="Temperature",col="RHClass",bins=10)
data_g = np.random.normal(0,10,1000)
data_g
array([ 1.29214839e+01, 3.11250426e+00, 4.98860717e+00, -1.02919357e+01,
6.95793706e+00, -5.83862111e-01, -2.71621718e+00, -1.75557195e+01,
7.36372536e+00, -3.01969369e+00, -5.36183781e+00, 3.23317867e+00,
-1.08758331e+01, -8.46357758e+00, 9.89833578e+00, 2.32960559e+00,
4.89820218e+00, -9.51853523e+00, 3.41315422e+00, -6.88578734e+00,
9.88186172e+00, -9.10586434e+00, -1.51792162e+01, 1.65601723e+01,
1.02973801e+01, -8.51137145e+00, -6.32783473e+00, -2.16983381e+01,
6.84518165e+00, -3.17306807e+00, -5.40272612e+00, -1.26630153e+01,
1.73628588e+00, -2.40413028e+00, -4.32792410e-02, -1.19375351e+01,
1.35342306e+00, 3.06829291e-01, -2.49292705e+01, 1.63339132e+01,
1.67687359e+00, 9.55044463e+00, 8.35415532e+00, -8.99642703e+00,
1.33308198e+00, 4.57502471e+00, 5.37919608e+00, -5.24965027e+00,
2.59471284e+00, 1.33780670e+01, -3.19497388e+00, 5.30361837e+00,
-6.55228625e-01, -1.20361933e+01, 2.34987108e+01, -5.02915978e+00,
-4.64211291e+00, -2.77904257e+00, -2.16599855e+00, 3.30197824e+00,
-1.43900867e+01, -8.75372295e-01, 9.53696917e+00, 8.54882951e+00,
-1.01843684e+01, 8.01374666e+00, -1.30479829e+01, 6.24356987e+00,
-8.19540776e+00, 1.67108944e+01, 1.44113436e+00, 4.44188942e+00,
-4.23030472e-01, 1.85880963e+00, -1.07491371e+01, -8.09319324e+00,
-1.78396797e+01, 2.26339597e+01, -6.75313236e+00, 5.81743779e-01,
1.56042715e+01, -2.89753351e+00, 1.12886077e+01, 1.74967005e+00,
-8.10779351e+00, 3.26831903e+00, 8.23763291e+00, -4.21562652e+00,
-4.56691410e+00, -7.15227312e-01, -1.19484938e+01, 1.80609244e+01,
1.56494212e+01, -4.65229612e-01, -7.54462660e+00, 1.11707110e+01,
-1.20989697e+01, -2.34803374e+01, 4.69768774e+00, -1.14932788e+01,
1.41156606e+01, -1.88334501e+01, -3.37479393e+00, -3.24206797e+00,
-1.47801695e+01, 2.03745927e+00, 4.97592262e+00, -1.26674297e+01,
-1.44351784e+01, 1.12367836e+01, -5.49486327e+00, -5.72273475e+00,
-1.22357761e+01, -7.73640349e+00, -1.26441801e+01, 1.38246035e+01,
1.71668548e+01, 9.48540024e+00, 9.23237990e+00, -9.89028309e+00,
1.41449594e+01, -5.09593395e+00, 2.42652636e+00, 9.93534732e+00,
1.17684159e+01, 3.39501298e+00, 4.80043969e+00, 1.05683639e+01,
-2.00695541e+00, 5.17487732e+00, -7.24632092e+00, 1.70586505e+01,
-9.15313054e+00, -8.62703108e+00, -9.94395162e+00, 8.27150725e+00,
2.27552234e+00, 6.35799807e+00, 6.04031265e+00, -9.38131158e+00,
-1.39543424e+01, -8.19215721e+00, -5.30179147e+00, 2.68633801e+00,
-4.42568620e+00, 1.91493698e+01, -9.44530658e+00, -7.30746362e+00,
1.30143323e+00, 5.14205590e+00, 1.24819385e+01, 4.72347126e+00,
9.93354843e+00, -4.48577664e+00, -1.21203980e+01, -5.74904878e+00,
8.18921241e+00, 1.60699157e+01, 3.01408585e+00, 5.72913529e+00,
1.01046842e+01, 2.42527653e+00, -1.56377767e-01, -1.40298564e+01,
9.70098948e+00, 1.87553096e+00, 1.53152308e+00, 1.82609977e+01,
-9.94306014e+00, -1.37991398e+01, -1.95622895e+00, 1.44023167e+01,
4.93863584e+00, 7.05543189e+00, 7.63823344e+00, 9.10663565e+00,
-1.11063059e+01, -1.00818955e+01, -9.50682076e+00, 8.66088402e+00,
-1.08895612e+01, -9.74920910e+00, 2.60390201e+00, 6.39913611e+00,
4.11389347e+00, 9.93147605e+00, -5.00550719e+00, -6.86277737e+00,
2.37251891e+01, -1.77552302e+01, -2.27425860e+00, 1.37528369e+01,
-1.07694230e+01, 1.19786280e+01, -1.85901380e+01, 4.62385529e+00,
-2.55373252e+00, -1.26485192e+01, -9.62939495e+00, -1.03648676e+01,
5.35611991e+00, 3.46687870e+00, -1.00236941e+01, 1.20719843e+01,
6.38675977e+00, -7.71525312e+00, -1.84738131e+01, -4.69012931e+00,
-1.16271565e+01, 6.86702435e+00, 1.21239386e+01, -2.95797561e+00,
-5.44475133e+00, -3.82037972e+00, -8.52027198e+00, 5.60020098e+00,
5.07708422e+00, -1.67674940e+01, -1.36064426e+01, -6.52539475e+00,
1.07867310e+01, -3.07044139e+00, -9.99245200e+00, -3.07384211e+00,
1.32065565e+01, -3.91606483e+00, 2.13029654e+00, -1.26114280e+01,
-2.62251225e-01, -1.64412929e+01, -4.04255490e-01, -1.57536109e+01,
2.70313403e+00, -1.51669765e+01, 6.81501581e+00, 5.04793686e+00,
-1.16315490e+01, 1.43779329e+01, 1.28836250e+00, -2.37902537e+00,
8.18655704e+00, -2.07757960e+00, -1.73440602e+01, 2.04288005e+00,
-2.44584756e+01, -1.16473081e+01, -1.15262399e+01, -3.82202367e+00,
2.19756058e+01, -6.52118819e+00, -6.00650040e+00, -8.26616726e+00,
-6.13091763e+00, 5.58739716e+00, -1.27984129e+01, 1.32311942e+01,
4.31064712e+00, -1.64439598e+01, -2.07232331e+01, 1.03910817e+01,
7.31718204e+00, 2.14686358e+00, -9.22858237e-01, -1.24621530e+01,
1.74075882e+01, -2.75691247e-01, -2.61811004e+01, 1.33966598e+01,
1.79859594e+01, 2.20049476e+01, -5.88055634e+00, -4.90753009e-02,
1.50663491e+00, 9.11513504e+00, 8.95761861e+00, 1.44601971e+01,
4.62188855e+00, 1.26161929e+01, -3.26637643e+00, -2.25800641e+01,
4.63537622e+00, 1.34784106e+01, -1.83311866e+01, 1.61173684e+00,
2.26559828e+00, 2.64929441e+00, 4.38281971e+00, 4.52552500e+00,
1.90664727e+01, 1.37152647e+01, -7.28167792e+00, 9.01879491e+00,
-1.93627420e+00, -2.73586880e-01, -1.46644236e+01, -7.76179971e+00,
-1.11345455e+01, -1.99528533e+01, 4.52731581e+00, -1.40789011e+01,
-1.04902855e+01, 7.48579688e+00, 7.19116429e+00, -7.47098566e+00,
-2.30684058e+00, -6.18974591e+00, 5.51257286e+00, -3.50717592e+00,
-1.60195013e+00, -7.36187092e+00, 9.38541256e+00, -5.44438166e+00,
6.97471333e-01, 5.29390241e+00, -1.11576096e+01, 4.52584179e+00,
-5.17957767e+00, -5.86359491e+00, -1.45755525e+01, 2.95635866e-01,
1.04281416e+01, -4.78083845e+00, 6.73406299e+00, 8.84099604e+00,
9.90687246e+00, -9.75340470e+00, -1.51423146e+01, -2.93921830e+01,
-3.70542897e+00, -1.17550681e+01, 1.76674964e+01, 4.75939170e+00,
5.87694216e+00, -3.30741605e+00, -2.27708380e+00, -9.46563230e+00,
2.22802337e-02, 1.13674276e+01, -5.12221829e+00, -1.66291746e+01,
-4.65949766e+00, 3.66466776e+00, 1.94222106e+01, -1.84819540e+00,
-4.69182289e+00, -1.72287140e+01, 9.49524512e+00, 9.37549874e-01,
5.29399330e+00, -2.32072402e+00, -1.22791145e+01, 8.83577944e+00,
-6.73763688e+00, 2.22187695e+00, -1.70868109e+00, -2.76279558e+00,
-4.68873432e+00, 1.51745234e+01, 7.17729733e-01, -1.81839048e+00,
5.52518857e+00, -2.36536919e+01, 7.13175721e+00, 2.23822670e+01,
-2.69276155e+00, 5.81463987e+00, -8.53223443e+00, -2.65733540e+00,
1.08730858e+01, -8.37570646e+00, -1.04347263e+01, -1.41300019e+01,
3.34696100e-01, -1.31583085e+01, -7.51394668e+00, -1.00227004e+01,
-1.51367781e+01, -6.29852739e+00, -1.21990061e+01, -1.36725167e+01,
-8.17336929e-01, -5.74038996e+00, 1.14602153e+01, 3.71614743e+00,
1.03001345e+01, -1.82299361e+01, -2.18700150e+01, -1.12504895e+01,
-2.00666480e+00, -1.61530762e+00, 1.29771553e+01, -2.00929951e+00,
5.29157978e+00, -1.30654032e+01, 2.26480212e+01, 9.19293587e+00,
1.31333832e+01, -1.99210635e+01, 1.35057441e+01, -8.46632205e+00,
-1.95144911e+01, 7.33086107e+00, -9.62744485e+00, 8.39432028e+00,
-7.13792716e-01, 2.01008944e+01, -2.20758546e+01, -7.25655338e+00,
1.10054877e+01, -5.66424977e+00, 1.45423946e+01, 2.71860313e+00,
2.03415692e+01, -5.91590871e+00, 8.20374386e+00, 7.77794285e+00,
-4.30183022e-01, -1.16587425e+01, -7.18206597e+00, 6.29353002e+00,
-1.00137537e+00, 9.54462271e+00, -1.01378756e+01, 6.55976852e-01,
3.99291181e+00, 9.95395888e+00, 1.50052160e+01, -1.00228174e+01,
-5.10194332e+00, 1.74495496e+01, -7.97808751e+00, 1.25379345e+01,
9.29072300e+00, 1.36103559e+01, -5.66127529e+00, 8.92167210e+00,
-1.21604165e+01, -8.45065753e+00, -9.99427312e+00, -1.04768637e+00,
-6.13971953e+00, -1.66684120e+01, 2.88980716e+00, 4.82406138e+00,
1.20873443e+01, -1.93257493e+01, -1.64900297e+01, -1.21309717e+01,
1.41415594e+01, 1.53064373e+00, -5.55235527e+00, 1.79632724e+01,
1.10321789e+01, -1.14598523e+00, 8.17530677e+00, 1.23059846e+01,
-2.13463368e+01, -1.86826380e+01, -1.04503328e+01, 2.48078675e+00,
-9.16937237e+00, -2.83231877e+01, 2.04801148e+00, 2.35813812e+01,
1.49721700e+01, -8.44487396e+00, -2.70238469e-01, -4.05568091e+00,
5.50689809e+00, -2.49159693e+00, -7.95620257e+00, 1.42707041e+01,
-2.03264876e+00, -1.85951106e+01, 1.53792380e+01, -1.72015415e+00,
-3.97627483e+00, -7.59625555e+00, 2.87623951e+00, 1.65600037e+01,
3.92661034e+00, -2.45618721e+01, -2.00048426e+01, 5.25933956e+00,
-7.14522765e+00, 4.33631670e+00, 6.45510414e+00, 3.40962820e+00,
7.41327982e-01, -3.16131395e+00, -1.29374113e+01, -3.45297924e-01,
9.68626417e+00, -6.48501798e+00, 1.96388868e+01, -9.10708896e+00,
-2.64495939e+01, -3.29320947e-01, 2.07017929e-01, -4.49631516e-01,
-1.10382821e+01, 1.99830847e-01, 6.75706297e+00, -1.94334754e+00,
9.86610152e+00, -6.75295462e+00, -8.46754841e+00, 3.07905531e+00,
8.57375728e+00, -3.75636864e+00, 2.24457665e+00, 1.50399527e+01,
-8.18119444e+00, 7.26300752e-02, 5.87702568e+00, 1.03574301e+01,
-1.29587123e+01, 1.31813086e+01, 1.12014595e+01, 3.28645676e+00,
-2.83914542e+00, -1.06676083e+01, 1.04142176e+00, -1.09440596e+01,
-4.53700520e+00, -5.59985064e-02, -8.15342375e+00, -4.83891084e+00,
8.92515005e+00, 9.79024269e+00, 7.17537983e+00, -5.95291649e+00,
7.51493079e-01, -1.06476169e+00, 5.80840678e+00, 2.19388498e+00,
4.24470462e+00, -2.28420532e+01, 5.18061789e+00, 8.02646717e+00,
-7.00679522e+00, 1.71715830e+01, 1.49379921e+01, -1.35479575e+00,
-4.45159400e+00, -1.92892294e+01, -7.16438758e+00, -1.18795915e+00,
-6.88072552e+00, -1.09047947e+01, 5.50765642e+00, 5.48003029e+00,
-6.54449552e+00, 1.58347917e+00, -6.54407551e+00, -2.08182994e+01,
-8.47144059e+00, 3.27233584e+00, 2.54781589e-01, 1.25394754e+01,
2.43794410e+00, -1.54948418e+01, 7.85635957e+00, -1.23394057e+01,
-3.69004896e+00, 1.09056015e+01, 1.87137193e+01, -8.52173365e-01,
-5.79990278e+00, -1.00675833e+01, 1.24095879e+01, -2.42652246e+01,
5.83981670e+00, 6.69310151e+00, 9.68119531e+00, 1.64266247e+01,
3.60031608e+00, -8.04801351e+00, 7.12974435e+00, -1.13483543e+01,
1.70205789e+01, 8.40538902e+00, -1.30614062e+01, 1.28634909e+01,
5.41845309e+00, 8.20108147e-01, -1.35074165e+01, -7.06051036e-01,
-7.77009760e+00, 4.29714050e+00, 2.28538444e+00, 7.23825676e+00,
2.93855443e+00, -1.88045211e+01, 1.66983194e+00, 4.70172732e+00,
4.71749415e+00, -6.82572081e+00, 7.83995519e-01, 6.04630570e-01,
-6.94567384e+00, 4.85357486e+00, -1.27629517e+01, -3.03435683e+00,
8.07341002e+00, 2.52815152e+00, -9.37941434e+00, 1.23586667e+01,
-3.92465441e+00, -1.54675679e+01, -1.61388335e+01, 7.11808002e+00,
-3.56088354e+00, -4.15962792e+00, 1.69453047e+01, -1.40452474e+00,
2.00474983e+00, 1.06548609e+00, -2.25767158e+00, -8.59998237e+00,
5.52738755e+00, 5.95531422e+00, 9.14763224e+00, -9.87728204e+00,
9.43782783e+00, -1.10223569e+00, 5.54577507e+00, -1.22004837e+01,
-6.68659024e+00, -3.44239305e+00, -7.63264320e-01, -1.51750730e+01,
4.22807981e+00, 2.16495824e+00, 7.50288838e+00, -9.63547144e+00,
1.16660116e+01, 1.10653857e+01, 5.83237694e+00, 1.12009447e+01,
5.83891258e+00, -3.73341074e-01, 5.82335461e+00, 1.45574414e+01,
2.36535811e+00, 1.45191463e+01, -6.64678697e+00, 7.71593197e+00,
1.47779687e+01, 7.42257929e+00, -1.19524265e+01, -8.76425503e-04,
-1.95630808e+01, 4.03882230e+00, 8.93662487e+00, -1.29562902e+00,
1.99923590e+00, 2.76873480e+00, -1.17691071e+01, -2.34841323e+01,
-1.34295437e+01, -7.68857729e+00, 7.27338572e+00, 3.48477282e+00,
-1.63289407e-01, 3.36431130e+00, 1.05436940e+01, -1.91163247e+00,
5.06661778e+00, 3.09819675e+00, 6.00016531e+00, 4.34588952e+00,
-1.69173546e+00, 1.01085760e+01, 3.80576938e+00, 2.98801875e+00,
-8.76153663e+00, -2.00024778e-01, -4.72590542e+00, 1.12770963e+01,
-6.08826981e+00, 2.27610126e+00, -1.04456232e+01, -2.56836621e+00,
4.04902807e+00, 1.33008976e+00, 8.44083459e+00, 1.81133393e+00,
3.56849663e+00, 2.65478408e+00, 2.55065258e+01, -1.06219117e+01,
7.52384590e+00, 1.26726637e+01, 2.33665604e+00, 3.60608910e+00,
-1.06688449e+01, 1.30819497e+01, 1.35309561e+01, 4.96568456e+00,
4.85359359e+00, 1.50994553e+00, 6.23622089e+00, 9.42124749e+00,
-1.18304132e+01, 6.65260736e+00, -8.84641029e+00, -6.18112242e+00,
8.72548617e+00, -3.55625193e+00, 1.12402928e+01, -1.34453473e+01,
-2.63510011e+00, -1.12398840e+01, -2.74492726e+00, 3.92081823e+00,
-8.45353590e+00, 4.42711713e+00, 2.12243685e+00, -6.82068118e+00,
6.74222070e+00, -1.77413781e+01, 8.27622047e+00, 1.33654028e+00,
-1.74092748e+01, -1.82710429e-01, 8.86421733e+00, -2.06386118e+01,
-2.78028221e+00, -2.24971860e+01, -3.38114561e+00, -1.34088538e+01,
-5.38466762e+00, 4.17662567e+00, 3.07305761e+00, -5.08113583e+00,
4.89500014e+00, -8.24903673e+00, -4.33115917e+00, 4.44867976e+00,
1.77592520e+01, -6.07060581e+00, 3.54328421e+00, -1.69232399e+01,
7.26943197e+00, -1.09337722e+01, 8.65451902e+00, -7.43900707e+00,
1.54239974e+01, 4.98929411e+00, 1.42084324e+00, 2.78940726e+00,
-5.31241396e+00, -1.83105249e+01, 1.43460481e+01, -7.38570944e+00,
-3.56217318e+00, 6.62977777e+00, 7.91099626e+00, -7.13485144e-01,
1.04623154e+01, 6.72201778e+00, 5.14787791e+00, 3.32749654e+00,
-4.79675744e+00, 1.56665029e+01, 3.76089481e+00, -1.40030627e+01,
2.31153829e+00, -1.37071623e+01, 3.52207451e+00, 1.02490444e+01,
1.86578670e+00, -1.21595927e+01, 9.22741951e+00, 8.87835936e+00,
3.84714795e+00, -1.27766656e+00, -1.07507293e+00, -8.51470460e+00,
-7.00750385e+00, -1.84831822e+01, -4.00270700e-01, -4.76143833e+00,
8.79425621e+00, 9.97163297e+00, 8.03824318e+00, -4.23297170e+00,
-8.02227346e+00, 7.95584185e+00, -1.90856108e+01, -5.57472429e-01,
-1.23481381e+01, -1.10146197e+01, -8.57921013e+00, 2.39177003e+00,
1.47006074e+01, -5.22583521e+00, -7.17624853e-01, 2.06190200e+01,
-6.78226467e-01, 9.47673214e+00, -1.04729156e+01, -4.61420604e+00,
1.14523528e+01, -9.60864428e+00, 2.89733561e-01, -4.65653376e+00,
2.07880927e+01, -8.07767912e+00, -1.53851733e+00, -1.87419052e+00,
-1.82624850e+01, -1.60337443e+01, -9.50328929e+00, 1.84347294e+00,
-2.39904773e+00, -4.92804974e+00, -9.18940696e-02, -5.28617871e+00,
-1.28472341e+01, 1.53488806e+01, 9.99728011e+00, 6.53739716e+00,
4.50478650e+00, 2.36186522e+00, -6.91418401e+00, 1.07687536e+01,
-7.35269506e+00, -1.28193802e+01, 1.89135011e+00, 1.96985380e+00,
6.19510233e+00, -1.05385726e+01, 7.79158099e+00, -5.55490115e+00,
2.03601476e+00, -1.66472230e+00, -2.46881575e+00, -3.73845192e+00,
-7.58711197e+00, -8.70716506e+00, -2.14084324e+01, 7.21207255e+00,
2.70470955e+00, 1.20185753e+01, 3.68807402e+00, -5.99373369e+00,
1.04299958e+01, 1.99619739e+00, 4.40533224e+00, 9.67634393e-01,
-5.25058500e-01, -3.42509490e-01, 1.34117580e+01, -1.74716655e+00,
-4.61518902e+00, 3.44723922e+00, 1.30257856e+01, -1.17658353e+01,
3.06124340e+00, -1.53937849e+01, 6.36079213e+00, 2.02309515e+00,
-8.63968807e+00, 1.19120546e+01, -7.35537868e+00, 1.33424047e+01,
1.20950198e+01, -3.43002330e+00, -4.09506359e+00, -4.52614899e+00,
-5.15994711e+00, 4.24357287e+00, 7.46843730e+00, -1.19604357e+01,
2.60428991e+00, 1.59246622e+01, -1.39338941e+00, 4.42096725e+00,
2.34662894e+00, 8.42926943e+00, -1.96232007e+01, 1.95298612e+00,
-1.91780929e-01, -6.50333554e+00, -2.69769178e+00, 8.95379586e+00,
-9.00142603e+00, 1.90561554e+00, -1.02256294e+01, 3.62317204e+00,
1.15555866e+01, -3.93701844e+00, 1.40696942e+01, -9.43326816e+00,
-1.95573518e+01, 7.12760322e-01, 1.72866496e+01, 1.67450740e+01,
-6.93641230e+00, 1.00031728e+01, 5.14904429e+00, -2.74155833e-01,
-2.90663228e+00, -2.37957089e+00, -7.28225078e+00, -8.00685908e+00,
-7.67605700e+00, 1.51593459e+00, 1.21588469e+01, 1.58487225e+00,
-7.33974780e+00, -2.08669508e+01, -9.99113767e-01, -6.46466774e-02,
2.87933062e+00, 4.07689135e-01, -8.01933822e+00, -1.42880390e+01,
3.93345695e+00, 1.58028846e+01, -8.40393192e-01, -7.85327154e-01,
-1.06588962e+00, -1.17897773e+01, -4.23280524e+00, 1.60533050e+01,
1.09542236e+01, 1.50864569e+01, 1.98258387e+01, -1.03317735e+00,
5.30892081e+00, -1.30292721e+01, 4.45570712e-01, -1.17577427e+01,
-8.92466411e-01, -5.05166766e+00, -1.98099591e+01, -1.75595183e+00,
3.02256184e+00, -2.48810890e+00, 5.46796430e-01, 6.51467685e+00,
4.59828506e+00, -8.39342111e+00, 7.92922480e+00, 9.90327145e+00,
4.96946618e-01, -2.01625223e+00, 6.19325361e+00, 1.41682638e-01,
-4.02164832e-01, -7.38274180e+00, -6.48036109e+00, 1.11092287e+01,
-5.64593730e+00, 8.55359935e+00, -1.07237103e+01, 1.13151810e+01,
1.05182360e+01, 4.29145981e-01, -1.33775916e+00, 1.22040757e+01,
-7.14623120e+00, 3.53541690e+00, 1.60535473e+01, 1.32671091e+00,
2.30543560e+01, -2.18557942e+00, 1.84582057e+00, 1.40709442e+01,
-4.76915112e+00, -2.06528435e+00, 2.25006835e+00, 7.99150676e-01,
2.64865451e+00, 5.71716260e+00, 7.35009120e+00, -1.61193019e+01,
7.99823475e-01, 8.78005935e-01, -1.65884035e+01, 6.13150907e+00,
2.24620178e+01, 1.08541225e+01, -4.89161888e+00, -1.67182675e+01,
-6.09752433e+00, -4.35523311e+00, -9.53484225e+00, 1.06394992e+01,
-5.50399674e+00, -2.18597681e+01, -6.21243404e+00, -2.38184622e+01,
-3.69009259e+00, 7.85924449e-02, -2.85587338e+00, -1.65723582e+01])
sns.displot(data_g,bins=20,color="r",kde=True,rug=True,)
<seaborn.axisgrid.FacetGrid at 0x7fd4c8504f10>