From 290d1cf12386d8e484d422d938ea1dccf6c63580 Mon Sep 17 00:00:00 2001 From: Chris Lo Date: Mon, 19 Aug 2024 12:03:15 -0700 Subject: [PATCH] images --- 02-data-structures.Rmd | 19 +++++++++++++++++++ 03-data-wrangling1.Rmd | 9 +++++++++ _bookdown.yml | 1 + images/pandas_subset_0.png | Bin 0 -> 18962 bytes images/pandas_subset_1.png | Bin 0 -> 22401 bytes 5 files changed, 29 insertions(+) create mode 100644 03-data-wrangling1.Rmd create mode 100644 images/pandas_subset_0.png create mode 100644 images/pandas_subset_1.png diff --git a/02-data-structures.Rmd b/02-data-structures.Rmd index bc76138..9499bd5 100644 --- a/02-data-structures.Rmd +++ b/02-data-structures.Rmd @@ -183,6 +183,25 @@ Perhaps the most important operation you will can do with Dataframes is subsetti You will use the `iloc` and bracket operations, and you give two slices: one for the row, and one for the column. +Let's start with a small dataframe to see how it works before returning to `metadata`: + +```{python} +df = pd.DataFrame(data={'status': ["treated", "untreated", "untreated", "discharged", "treated"], + 'age_case': [25, 43, 21, 65, 7], + 'age_control': [49, 20, 32, 25, 32]}) +df +``` + +Here is how the dataframe looks like with the row and column index numbers: + +![](images/pandas_subset_0.png) + +Subset the second to fourth rows, and the first two columns: + +![](images/pandas_subset_1.png) + +Now, back to `metadata` dataframe. + Subset the first 5 rows, and first two columns: ```{python} diff --git a/03-data-wrangling1.Rmd b/03-data-wrangling1.Rmd new file mode 100644 index 0000000..4a4077b --- /dev/null +++ b/03-data-wrangling1.Rmd @@ -0,0 +1,9 @@ +```{r, include = FALSE} +ottrpal::set_knitr_image_path() +``` + +# Data Wrangling + +## Exercises + +Exercise for week 3 can be found [here](#) diff --git a/_bookdown.yml b/_bookdown.yml index 9c20bc9..90c6f3a 100644 --- a/_bookdown.yml +++ b/_bookdown.yml @@ -4,6 +4,7 @@ repo: https://github.com/jhudsl/OTTR_Template/ rmd_files: ["index.Rmd", "01-intro-to-computing.Rmd", "02-data-structures.Rmd", + "03-data-wrangling1.Rmd", "About.Rmd", "References.Rmd"] new_session: yes diff --git a/images/pandas_subset_0.png b/images/pandas_subset_0.png new file mode 100644 index 0000000000000000000000000000000000000000..2a37d28fecb6a2b8493806ec8e8566722b8dfaff GIT binary patch literal 18962 zcmeIaXH=8Xwl+$WBE2ImB0V5Qq)9Id0i-tzEeMDbK|qQjbg5E=L_v`vq1Q-L=_Mi& z1py@x>4u_U03p|EXsgYxZ`$hrN8|llKL00VJYbqc4`FZnH z^s#OsJt^8sGLELIo>v4N2V%8r1qdc zZ0|T`&SmcR+S>DwpN>~u!XFeV7&A*Ga{a&j`e2SP&~P-a3(KHAtY=%59ebpsFMRru zaf$6WLydHLxo_tG;a}g=@*Qg2ykol*=nqpv7cx29pvx0?CWVSgxY+1(Zf}+-Z) zrqvl&+bMdiW3Y%5*`gu)0d}F?FvK7A5nXrds?chMuOLd{ z&lwSR`X%qQ8>%6U_^$;{#1=5s$^ZI+D5&7&dzv}yMM1{{6fS*C0r(~+^MVhwULhz@i(}l^7snzxQekVzHke}2RL=7x#n%eQO|MUShNm?_IF{^ z#x1ecH60asmYEu{`IGO5k0Jhu)wPOc22@Pt`jckwZKfD84T3ee#4kz_3oL@(#vP7( zpvNMz8|~Ev)!UgOz%xBR&1JN0GTcTwGy-xUF4ygj3=?gL?J)BfCKI&S?szLTV}EwA_TJ8aBJ>^;(xuNF!~Oe+tS>?_U-M5 zC`ZeYeb;}+)uXv{>Qu+KHC9ypNlvT<`-(L@SKTj`1pR9k@FD$~L*g~?i{%e34(#@) z^p?Ek0XLoT6g(M*{23zmvIJiMJ^e>Cs>s)==^Zz_rmp5ZE5D9D{cvC~3JAcZ#+tX8 z_~8u=u%Bf^&V&919hE7jo7r!Zoj(YV_S<~QzflxAbWlNoT;55^I{51)=l1tB2p7g3 z-nG7etVz|^dR4}Muo>>O++`aL_c1hhqV#=h0f>$38^ZKEZf8bq(5(Ml z_5T@bt$?7W|IR$Y8j@G7{!*^iN}@h+F9?LpAA77fF|xTAQE``Pqb6zRiH zV}m-eaJxvi={FWPZw`lNC(BMc^M*&U*#@{*1;4`~96wjSZo^Tlj_rK*n)j@IW8FH9 zF7zT|^4(X5PB}&^g=Lw^OnyMNY>Hh&tX8xvoQKYB$d0krn4X7JO_>lcqLy;W3TbtD zg}Q{U@iqU+v$HY^mKLlR*coNYh}T%>o_tM?zAh5_Y6LxzuzU};{TA`?G9kKn8{7Oq zc6_{^<(W%l3r^FqwI&KeybOk4K@`rq_ams~uP+nlR}V9stZfhO5lA86!ODV)&S>d; z8TAi>1HbRHphDWH$=_dXfFgVe(YGhUWKjK%`buQ?L&`_E({F)Y`Fx2kopv0rlm2WJl?3PD5eDes7?j!-L{j|NhPPAe(8bT0 z&f0+!OgF6*PrA;1sh@vc7;|>NEc}Bz!5e~!*@MMNgOL5NqTAYhhm#jc~$`ndv zz{Z7N!E8Zou_^i*(FaO@3#aF#U%qXEaiTAL$&_-idf(0<=nTeBa1Xl|THs1W(I7e| zC$ahpi)%gk;_vIhOjS{aiskboD?{sVXg%R6m>EZLus}n~*U6f7y^Tv4;vV4s25jiP zNq3Xl`Q4WT&^-be8cc5HZ?QKr$@So|IsoaC5w;y&}v&8?vyvyKsS3+^V@-?+*MfLBl4q zAWT63|Ai^4!F+fvoa@$j^RFMhl>P#JA<;hSp8wG~iI-Xx$_&vxM;yePP!@?!5Ci0# zl#EoC$M72cL9%NHosoJ*$G z;Th9FB0)%}gK?dewb_`=z714?q{~P$S|cXf8{$7o!OC(65WA zqqJRYLfYhlxP*K!Qwh6*$PRX0!%Fw}7qSSQv;HVnkBjNqT`DDza8la}az;dC?Dtnk z8WHPZB0nH7gW9wNy@e3T15fg?EXt)7Hm?UoaJQv+*D9T~!4giSE8Li9Df)@0d&4jc zEyddtfU#40J&?vtgy)5Dbqtu%8C*hYZB=%zU6|_Wju6<=^CZS<=(hX$ACXUuaCb?r zF2TPS2eYH^PpAo~WJ;oCPBzbm-MMTkP_zPDq z$q%;gFPRW3LJto)3LFCFnR^0@1lyT#*J*09Rq$RanURqM4weKRoOnb=e$epIG+AqE zmo}QEra1!3n#rZWnb8bYb16|=u&#&N${SAv(^@Q-x(JD4pi-qg5eet@?O#rCqIO9wCZ8c zrfxlEF>^)0{0Y?%i;-tU7mL7vhL`G{uX)$}pM5v4{mxy$U?k7en^YDxoSDNT4raT# z;Kdo-**ao8v3%8{J!QiMyO&%HA`1rfHH3QFcr=0s);(Oda}jB8j^ie2n*NL?4H*v` z!E_iPEOUWxn7YQ#KS{hMYi-Lx3z6FBY;M3jOaMWRQP3Ml!f>z=Xyj&q zOI|Gc$VP{5#O96PrPV=CBF~}N^PByrIUw|teS5;PWf34weYOpol<9CJ(l$S}mqGHe z*VbumF5LS{Mqpd!MEmCssI3e-e=>7a3Hgu;Y)eDvCA;Ox5KS}6Q%j4yjU*=8kJRu~ zm}?UJX4^&^SIhZl$gyj8U2%hI0mCV(Av$k61y~t}>zS$DS{{aJ%VHo-54uS#D6@r2MGRtBk=m z$z<_)n`~MHqY#4$A@Ek!`RveLyx{jH&hTez`t14&(JO+_x@{lQxo$1&cA)v3y9v{i zKnNkE-cHDvcO0(vV=i?1;g?=86|RgbOHJfCVC!Fwc4g+;=M~fGR+J#j?WdnNmtN=k z{pa|HaL+A<$;NONAQTR<);T;HyW@8+acQXN%08TKVfL*MTE|?9_wL^oZCUH-K!qu{F>-kx~bju$b0WT-D#2B7@lA0y)>MrL7Tnf^|@!@w+CeuQxXp3p%5k`dX`jnT0!5`Jfox& z3Hb%DfyaU{%|Jp=G)#n{iJG(at6ejF7yFa%L3EH&K1aNVKY`{rU1MK(j`MKg2wSTg z6(}K(jeZYi@?3s=^$v2p@Ovw}R}EfI^-Z4(4ZY|r{f1DZk(Tt{7FiuX+G^zfy;bjq zmEh3n`}{qHmsis}xz_z2!J#epGh0E60!-d23N{}n5WRZg49-mpe>@+6dOU@u?W!3j z)23BQVhxn!#}kCJVK9$<<$aD^CMknhzfEQ6;a1m8P^7-hq;v{ z^TdiFQV_}ZVq~elHCbkhB3di9zHpFb$7^N?i|i7#2pYrfW7qNihnF`Yka_aS6vG?0 z@*3IZmky@6sO#08bE;B+(=E-pX1hv6zpU z$;p0f%KXncjDh+@^DFvDwa_cC#Q~iCT9MNT#K1|1W9fZDbL5X%G8y7g`?McKpTo#w zhabhtM9r_+8GML?=~$fik`#+S@_NrpcTs81D=C9XrHk{2+Jz&NclL4T5r#ROHP6pR z>~o~LFTvS8Nh(NfRlH}+%E`uEW{w&LmAixBb6uK@JA}&sF5Md(knNJqf#xCTYajMi zbHtmb@iSWV1E_&j;qb+WbyY8BMxWZV_kSw+<|@u44B-5wx8mVD3&Iy>L>_rQN`6iJ zMplPv(-bY9VHuGuRFw*lI@5822k_j~K()FQ{%i_uEn4^N6R+*me(Qy3*Im!ou~Iw< zBm6d=68qm%y7Ni^2gPEpmi!=~kUjBuDfPlAFX`kTVlHuaEG%ei)1I?~U7T6elD`Yx z5nS(~e`gmkm67Z%?rP!PGwtFlmT_I%x1sXUU}}K4R%$3BpE`eb%gyPK@}7>KQ^Oi_ zdh>Hw$gN7!W;TqE@Zv_MND88@B#OUhUPyeDReF+!Tsp6?4{w1YjMo3WXHh$aN#POE zz=WGNf)ajY9(o%$**!h^N(-d ncqk2N2+F&Qg#7&f?lU*dUD@s!>s;X*egs|!8y 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 literal 0 HcmV?d00001 diff --git a/images/pandas_subset_1.png b/images/pandas_subset_1.png new file mode 100644 index 0000000000000000000000000000000000000000..51dda6d741ec9c4791b6cd92a8b5218d13adf55a GIT binary patch literal 22401 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 A4gdfE literal 0 HcmV?d00001