From 861773bbd09530c42e5a622db5d0cfe46c4e3671 Mon Sep 17 00:00:00 2001 From: A-Akhil Date: Tue, 15 Oct 2024 12:24:38 +0530 Subject: [PATCH 1/2] have removed the StreamlitDuplicateElementId Issue #382 --- .gitignore | 2 + .../__pycache__/functions.cpython-312.pyc | Bin 25571 -> 24962 bytes .../__pycache__/main_analysis.cpython-312.pyc | Bin 26083 -> 26048 bytes streamlit/functions.py | 35 ++++++++++++----- streamlit/home.py | 36 +++++++++++------- streamlit/main_analysis.py | 12 +++--- 6 files changed, 56 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index 05572c5..be611ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ catboost_info/ +venv/ +.venv/ streamlit\__pycache__ \ No newline at end of file diff --git a/streamlit/__pycache__/functions.cpython-312.pyc b/streamlit/__pycache__/functions.cpython-312.pyc index 23cffd047aa1ff22a0c5586daf6ee3fcb52ac451..7153492497f875abede3484b4b1cae84af5f032d 100644 GIT binary patch delta 3338 zcmaKueQ;FO6~OoI+qa+j++<_ESwe`}WJxy31d|XT8iXJakR(h%aPzYJk}TQmF86I9 z37Ha|v=FF3IUS^<9ZOrNAXe~oI-}B2>$J4vKbb}u`s_@n);|nXMe5krR@-y#BB9pl z&c5HAd+yh{=bdxj{qq&}_!}(a&GdAq34ixxW(=P1xRf!^SULQiEoxXA_D-`M%f^|n zVx9(c`j}yf#repDGdxfqs1MYHw7n_0u1UzHP-Dr5M5h0yFO*C0(|K$u3GHo0YV+b(tG4pD7Ndr zN#AWQt{`n1Ast~z4=CJ_BeAeL#v7qCtLUz|en@6D%Uf{RCjG@Mw}mZ-U*%S_?eKAK zG1~?io-O&bn&HyoJQ>`pL`PMPZ=|K0V6P|WX+hEF;AD(p4aK9QBQdn+x@VtLL)A8X zG!DagtEBgGiuFr*0VbJpOZ4~ddEUah;6$+x_q$xYVq=Kr%ln2@uJR0$Em~wk<&`LM zg>dIId;>MJ2~mQZkc049gcUph?Ip|Q)samY1BNS`xe((*g<$?X$?CHhnKdpr{T)dT}}65=UrC$sF_I+ z_6ZLy7%A+t@e%BYJr%i-sF-%Xj*ai)qaD$|s93_Jx7^F1s?sl+a%%J)m8Y16?1sly z=RsQ442!|ZsxmeWFI8=3uY#lcca_g!cVt?^9m`O{cR+sQM+tNkLsk+AjHD`%{EG|k z1dHJur{*w&P%Yt$rk=Hspal? zQi<|zlAT*r9#UgTWl-g3p)e3&9k3zLF>)R|(UlIGMAd`42rrN}{i|j=l3a;t16Vlt z01hzhG0goz6?2(_iD{{`4N(WZf>h*IkyH&IG=}7Vqj*d2S^j-<%XQM; zKy-_pgvF_i$<--?`3E%ULjoDhKO)=&e{(bJZZ7Tp8#O;e_*}vc{!dbfDEL|vs8@vK zLdwXgl=&BReNOlSAtK^tbGDT+Y%$%|QfofYM!o9@%L(fV4-rIo*irI1`G41)yE1`F z8Q(#ji6SU%D@u*2fLGeQ zj@i=j*}daP{oOVu6`sLmc`w0=!?}%MCph5q_C-Z=*kjnZnusd6p-6kOi7E%&x28!h z#)d~vuBkAyt?<;^5_Sk)S{tY+r4<&X271Kegc(99VL#ylWUh-?(Vo|X5WGv4+T2KI}pW*X7eV(yM+HA7=9YEj8H=m$>qc& zMK*X@9UR`!C)eRloAr-2e9R73^8(Ur{u2GTwKjmQDbuyQ{8M_cGh1qIKqWtoO04a+;J!E? zR>OuI+^58nxbBZ=?vD|MT^k)3h>YQ9i$2ZW{0y9XSX=xo^`9dMib=#_I_IX>rPJx z=MTU;y+xK06!D9e1L@oI3tuJuYXr(&PLALmw1^v4Z*OpRp*Vw&c37X>?qukUCOEpI z1D(;V|9-~=bA3n?&J$YU(VdOG!eWsf;ykyoXCf;}pC4~n)$qd;j>HDhGxC^l&EwdQ zEk`mE8pbG$sy=%v=>9}YZX}3AsDc|i%Tre%sua8k3U{rQA3^b=uI_r9Sw-AULtAiX z{wK61-W`(aSdxpp6)&I%eip2+K1xf9U`{0@HAQJ72hpdA6t}m??%OO=82S zL{*>vB`W4GV_0@##ER4R(G-G@3B{NC5E&Xq_{=;NtFTciWjYKiC9Dc&l$w=SaF!v* zMn@9kT$Boz7K$XsYp^upC6f|MRA9r7m*j8|FXud$bQcNtz$c3Lz$Fr2L{NRxMx!{b zkW>u>x?Xa+CvuHI_bW~pB>p<#D&c(sed9PIbEzzHDu0>73kh zj$Q-w=Quew@Nd!z;9~!h-8V~3_M9nxaQ|cbkGIa*yi=BIj@(1;V?{GX$9K*-%BHN> zvWkwIpLBi4HCx;|m$h;#{eKl11&8{N4bKeE7Pib~teA3rb%~o+lQRQ4L&e$0N9LU6 TQ?^@fnHBui?P5Nd3=RGVVs0Pl delta 3832 zcmb_fdu&tJ8TYY${Y(OJ9!+BMfIQ$5;yicE!yZCsU4n8yA+12rO)wzUQgiK}sB-u52-kev+#-aft z=HEhrwIb1s!4T~p+|sG4VWqsdm`Z&vpI`0lY41^F>Inr^IjFikq3+@a*%R{0MK%6j znf=0;R?{u{gT;zUWvM&hSBt$JWhG@LE|1dtjFgow;L7NCwrtW+kZbQtNVA=~6@C)*8vvC8?dE zU~6@CW8JdpWpi2^Rp5nsW!e!4^%X4*N`V2zue44iLTg7)(4+c8LB$mw(Bi^@km_y^ z_2VzifSk*ONAUqfbbqnM4T<~2{mF%qW#iKdKA3f6*75JXSA0)Lge8RK3VB9OtP-XZ zftAK3lK^{YsbCM|Z0rw0W|FXtc!^KHO>i4P9sjV&IoTkaWs(HbHq+K5R$86RhE0}yk)DQ1b7*){VtyJq!vxILkspsKJNuIHSSVx~*fjYMF8 zmcbSU@F+)Fx#fsy%$_}J%#Pl){DY8urrFBvE|{dn2qi4r-Xv52IVU<`->RRIkK8zf zcmU1tf`4Fp{~f*HM_&0u0fl8P$QXtm*qp zH2nZP{iX0*N}JdPM|~P@qS=)YRo%T(phs3{EpX_3Ha*FmvJlr>DcY!+JfT2OcM!}R zN$RsvU{%AT^sy<)m6q#CQ|{|h1V?mpatSdYaWLgWBWYlj86w!ynXzbfJ1Pn< z)aNErN3;28s3$CY-QEuRTXtP660U*t>8N97zhUkrTxhD6A#o_hN}}j4dLG%r`j9FG zXd}|Ldg$HIxFw%VkFg6yC8V0&DXOVH0h8c0D=xw-g4z+zAUB>zl0LT2s!}PabinOE zWf0IT!GJ`4G8B3(+wMw_pNOnzrY?5O6%alHvCGla;x&c>G?W@~nQ@IQ1-Y43^c7&- zy12rqyTv!(!}gVBn*N5Om)PmD)nqUGvdmq+9~o$(7)Q?{eHcKq;9Ue)juNxehZE?> zSi*@&&18pWdxU=jc{BRe?6>vhw~+f+fc133AjfR%7{CNwG*WIhB>xI1(V*G<3bYO`CT>gVe6jN13;FMW-Nw%Dm{$SB&e)F7|_(5*Lpa z?>Ib0^HI+Ygm29scDp7`#K1wEdAQp}+k_I>aY=M|(<>okBPbAUa|jeFQWsYR*^^hcod2npF<=z$E~2jU~cU&6}UC3k3}U zImqh(-N|a|Tdal1CVra8PSh{5)qt%p;vrVD&+C6?8FQ4~)0qT2JGHLK0KZW~gU?XK zb8R=SGs5d_8I2tf#`FjR9*Clo@kLtd_bYTUdSD?!IYI?OB|Fi<+tvW&AUw)YG-rd2fGZZnTv60g!(GweGDz&Van%WgMeMII+PAJ(F}HeW0kNG$RknXrfbB+GjJ#Sw6!(uJ}kg@1y$}>DX(Pi{`IVJ zb6Md5)W*{~R-!n>>f$dVcxNH~Xp6I(>jVk5IKzxveq3tc*Ma{MF#I1wh@m9-;oZ0b zK_r|Z>S-)(*@G=vJi?sipN1|dy=L=6wncBJi!#~&VWL0453iUq}cwPt~T zPhL0tXQIi-`w>DaJLb;W&M&@mxDiu|y@+rP;WGrh z3Mt+(6x$`mHc7EbQS2MB3d1U(m;e-AOwkD^K$0zQOR|Mv0AHO_$fUO1?bpqY2;KA2 zj+aK0lrgg!F^*f4_d150`<$aGJ!971h-rMX^Pv6>`)hW%IWyPkAv}o<`bhkELi*nJ zp{{*hz;@Olds6-XWZS=~)f&H7Jy^@`wWT>mQ~Snj{Sos$hd|QrJM1KfIVInJ0D9m4 AF8}}l diff --git a/streamlit/__pycache__/main_analysis.cpython-312.pyc b/streamlit/__pycache__/main_analysis.cpython-312.pyc index c827a5d0ea9a6475fdff2a5fec8d4e4f62b95c4d..5ba720787e1e937ced536d98fd435d8551ae8859 100644 GIT binary patch delta 3364 zcma)8ZEzFE8NSu(v?uv=k}O*vCt(@zhiuDVvgBgGCNw~dCBURu0!k}nOMt<)$Vmp= z*nCXeAhpauy6uEE$qbqPNHchdQ~hE3%RuasXCMXl18*z6(^#PN#Vjtcld7-{DUJ;KVxN;?Hzy{Gm{-tG^0p zYz#9|I$nD2dl;yzK?Ct|sUohWC_p3Lr3->D@C}_6yf5QhGR6p+A-wQ$vAkR?`-){( zu{7eh^;YmN8E?rrDdQV5?k83ztTU_zP3cy{J=d?!rrpr;s2xTM~!SqCdEPS&2 zxt`JLF8Wfw%iPqKEZ>nglCeU7pSfyQLI;gDl91ALWg`zOUI$x~|o;@`C9Wz5%;FH4yg^E6E< z%VM5pineKzXq#r@#c`1=lL}CK!Iav&V!!0y1BgNLOwl5_cQHOqe*e|RJ#Fx2iP*=$ zo6TaM7Tz+7eImRgxcX}0U8UIPfp?voRRI9+trG(Ryl-y`*x*c=7;wT_&K2;&*)B1t zfOBiQf;#wFy%@B^&&^H2IykQrgI+k_#_s7vS%&S?psbedJ8VW-k?pHO*;=-*6=gka zUl)1^*gy$-D6jzwdT3(<)##y<4Y<)mFB{l|78GodM+-VOXhjQlHduoe>e!$gEqK{r z7aAbUSbh+xLGnI3iybX)n_>cvGYPW43(qJcZ5>xoO-Ug9N8c)(YN=2|S!3XY5>K@> z8KNJlo zMx|)zXskaTP7KCFiRh_BoE|@w%a61h_iioMgh}UJ^2R^L;e*y!k@`a5+;~n~_5wvS zYd!P4m&#Q6QzB|+A|eiDa+r3QpO+N{=+cg3Nva2-^jjCge0AKD6`tw_n2FKX)4 zj_ImtQ^wt$<+tY%jaNfrq>9o?LqC*;E(wg5#KRp#(%+s$=?OV)Sh*8QctBx^cl~v@Wwujg!i9KCCN$h(8 zaYzyeI&spv7(Yoe{%f;O0dFXwPX})}8+>+nbCu|;gSS9~uN~fM7yS?(yQgaP>*0MM z`t9(3O|#z#XB?v617{Vik4LjQ)@MbtcGg#eX6smA8=7rr{S2CetY3@f^sL{C=IpG$ z8qGObe=C~vu>MXoP(12M2n<8_gscS~q6O{g&D)`(ETT{7H;C054{3*<8=oenp4DoD@k?y z$AnlGa<=R7xr5Gry1k0TuyIMZ>wARRJD~$YX4g*@@7H?dQ~xCeSa0nNg*+KbH9})=qV-H*G7tr zoKTR#Z(<-N*o%z(Uv0V)wWnb$%|{3-Gn^8Zj#I*ZNdD%#E!%6)z#HY_b`QMKVd??! zrd8|_;LT23j}6{hBlbAqr>eC*UifL7NVt95+(@{6M-U0O@3c_KlqPZ9;Pj z)?b3=1lDgxb(WlZ`64UTU}L1t;HKMIeQ0!KATbyliAyfLBVq>~_-LfES3Y^_iGkEW zK|W;mQG1mX9SILdC3+2(=t&{bUHuXBj36WJCa}nD9F9dshoW85dD5iP5{Eb!`Gq-C oKKi-(#97tv)n&<2dQmQP;2%YI8pZ*56+9b<#{k$My+wTf1LBpb)Bpeg delta 3446 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 arTAuv)DHX02yI4RzJw1V)SZ3>M*Ih(q?M@v diff --git a/streamlit/functions.py b/streamlit/functions.py index 89eef48..030199b 100644 --- a/streamlit/functions.py +++ b/streamlit/functions.py @@ -8,16 +8,31 @@ import random from scipy.stats import norm -data = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2020.csv') -df2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2018.csv') -full_data2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2018.csv') -full_data2019=pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2019.csv') -full_df2020 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2020.csv') -df2019 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2019.csv') +# data = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2020.csv') +# df2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2018.csv') +# full_data2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2018.csv') +# full_data2019=pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2019.csv') +# full_df2020 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2020.csv') +# df2019 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2019.csv') +# df2020 = data[(data['SalaryUSD'] < 200000)] + +# # features for job satisfaction +# results = pd.read_csv("https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/results.csv") + + +# Load the data from local CSV files +data = pd.read_csv('df2020.csv') +df2018 = pd.read_csv('df2018.csv') +full_data2018 = pd.read_csv('survey_results_sample_2018.csv') +full_data2019 = pd.read_csv('survey_results_sample_2019.csv') +full_df2020 = pd.read_csv('survey_results_sample_2020.csv') +df2019 = pd.read_csv('df2019.csv') + +# Filter the 2020 data df2020 = data[(data['SalaryUSD'] < 200000)] -# features for job satisfaction -results = pd.read_csv("https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/results.csv") +# Load results for job satisfaction from the local file +results = pd.read_csv("results.csv") ####################################### @@ -35,7 +50,7 @@ def plot_boxplot(data, x, y, title): ######################################################################### -def plot_bar_plotly(df, column_name, top_n=10, height=450, width=700): +def plot_bar_plotly(df, column_name, top_n=10, height=450, width=700, key=None): df_counts = df[column_name].value_counts().head(top_n).reset_index() df_counts.columns = [column_name, 'Count'] @@ -46,7 +61,7 @@ def plot_bar_plotly(df, column_name, top_n=10, height=450, width=700): fig.update_layout(xaxis_title=column_name, yaxis_title='Number of Developers') fig.update_layout(height=height, width=width) - return st.plotly_chart(fig) + return st.plotly_chart(fig, key=key) def plot_pie_plotly(df, column_name,top_n=10, height=400, width=400 ): diff --git a/streamlit/home.py b/streamlit/home.py index 2d7568b..0aa06bb 100644 --- a/streamlit/home.py +++ b/streamlit/home.py @@ -16,14 +16,24 @@ def load_data(url): return pd.read_csv(url) # Loading data files from the 'streamlit' directory -df = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2020.csv') -df2018 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2018.csv') -full_data2018 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2018.csv') -full_data2019 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2019.csv') -full_df2020 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2020.csv') -df2019 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2019.csv') -df2021 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2021.csv') -df2022 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2022.csv') +# df = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2020.csv') +# df2018 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2018.csv') +# full_data2018 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2018.csv') +# full_data2019 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2019.csv') +# full_df2020 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2020.csv') +# df2019 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2019.csv') +# df2021 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2021.csv') +# df2022 = load_data('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2022.csv') + +df = load_data('df2020.csv') +df2018 = load_data('df2018.csv') +full_data2018 = load_data('survey_results_sample_2018.csv') +full_data2019 = load_data('survey_results_sample_2019.csv') +full_df2020 = load_data('survey_results_sample_2020.csv') +df2019 = load_data('df2019.csv') +df2021 = load_data('df2021.csv') +df2022 = load_data('df2022.csv') + # Filter the 2020 dataframe df2020 = df[df['SalaryUSD'] < 200000] @@ -136,7 +146,7 @@ def plot_value_counts(column_name): if year == '2018': main.main_analysis(df2018) - main.main_analysis_2(df2018) + main.main_analysis_2(df2018, year) visual, analysis = st.columns((3, 1)) with visual: @@ -209,7 +219,7 @@ def plot_value_counts(column_name): elif year == '2019': main.main_analysis(df2019) - main.main_analysis_2(df2019) + main.main_analysis_2(df2019, year) visual, analysis = st.columns((3, 1)) with visual: @@ -228,7 +238,7 @@ def plot_value_counts(column_name): elif year == '2020': main.main_analysis(df2020) - main.main_analysis_2(df2020) + main.main_analysis_2(df2020, year) visual, analysis = st.columns((3, 1)) with visual: @@ -247,7 +257,7 @@ def plot_value_counts(column_name): elif year == '2021': main.main_analysis(df2021) - main.common_analysis_2021_2022(df2021) + main.common_analysis_2021_2022(df2021, year) visual, analysis = st.columns((3, 1)) with visual: fig = func.plot_valuecounts_plotly(df2021,'NEWStuck') @@ -281,7 +291,7 @@ def plot_value_counts(column_name): else: main.main_analysis(df2022) - main.common_analysis_2021_2022(df2022) + main.common_analysis_2021_2022(df2022, year) fig = func.compare_language_columns_and_plot(df2022, 'OpSysPersonal use', 'OpSysProfessional use') diff --git a/streamlit/main_analysis.py b/streamlit/main_analysis.py index d178aec..dca25e2 100644 --- a/streamlit/main_analysis.py +++ b/streamlit/main_analysis.py @@ -103,7 +103,7 @@ def main_analysis(df): with visual: st.title("Ethnicity VS Participation") - ff.plot_bar_plotly(df, 'Ethnicity') + ff.plot_bar_plotly(df, 'Ethnicity', key='ethnicity_plot') with analysis: Ethnicity_text = """ @@ -176,7 +176,7 @@ def main_analysis(df): if ds is not None: with visual: st.title("Country Wise Data Scientists Participation") - ff.plot_bar_plotly(ds, "Country") + ff.plot_bar_plotly(ds, "Country", key='country_plot') with analysis: data_scientist_participation_text = """ @@ -196,7 +196,7 @@ def main_analysis(df): ##### To Speed Up the Web Page, Main Analysis is divided into 2 ###### -def main_analysis_2(df): +def main_analysis_2(df, year): visual2, analysis2 = st.columns((3,1)) if df is df2019: @@ -262,7 +262,8 @@ def main_analysis_2(df): if ds is not None: with visual2: st.title("Country Wise Data Scientists Participation") - ff.plot_bar_plotly(ds, "Country") + # Use the year parameter instead of year_variable + ff.plot_bar_plotly(ds, "Country", key=f'country_plot_{year}') with analysis2: data_scientist_participation_text = """ @@ -368,7 +369,7 @@ def common_analysis_2021_2022(df): st.markdown(employment_text, unsafe_allow_html=True) with visual3: - ff.plot_bar_plotly(df, 'DevType', top_n=10, height=500, width=1000) + ff.plot_bar_plotly(df, 'DevType', top_n=10, height=500, width=1000, key=f'devtype_plot_{year_variable}') with analysis3: devtype_text = """ @@ -429,4 +430,3 @@ def common_analysis_2021_2022(df): """ st.markdown(webframe_text, unsafe_allow_html=True) - From 2b3fb3580df284d7b452bab93ebea6f2baf2d1ee Mon Sep 17 00:00:00 2001 From: A-Akhil Date: Tue, 15 Oct 2024 12:41:39 +0530 Subject: [PATCH 2/2] changed from local file to github csv fetch #382 --- streamlit/functions.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/streamlit/functions.py b/streamlit/functions.py index 030199b..13c1519 100644 --- a/streamlit/functions.py +++ b/streamlit/functions.py @@ -8,31 +8,31 @@ import random from scipy.stats import norm -# data = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2020.csv') -# df2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2018.csv') -# full_data2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2018.csv') -# full_data2019=pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2019.csv') -# full_df2020 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2020.csv') -# df2019 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2019.csv') -# df2020 = data[(data['SalaryUSD'] < 200000)] +data = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2020.csv') +df2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2018.csv') +full_data2018 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2018.csv') +full_data2019=pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2019.csv') +full_df2020 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/survey_results_sample_2020.csv') +df2019 = pd.read_csv('https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/df2019.csv') +df2020 = data[(data['SalaryUSD'] < 200000)] -# # features for job satisfaction -# results = pd.read_csv("https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/results.csv") +# features for job satisfaction +results = pd.read_csv("https://raw.githubusercontent.com/Recode-Hive/Stackoverflow-Analysis/main/streamlit/results.csv") # Load the data from local CSV files -data = pd.read_csv('df2020.csv') -df2018 = pd.read_csv('df2018.csv') -full_data2018 = pd.read_csv('survey_results_sample_2018.csv') -full_data2019 = pd.read_csv('survey_results_sample_2019.csv') -full_df2020 = pd.read_csv('survey_results_sample_2020.csv') -df2019 = pd.read_csv('df2019.csv') - -# Filter the 2020 data -df2020 = data[(data['SalaryUSD'] < 200000)] +# data = pd.read_csv('df2020.csv') +# df2018 = pd.read_csv('df2018.csv') +# full_data2018 = pd.read_csv('survey_results_sample_2018.csv') +# full_data2019 = pd.read_csv('survey_results_sample_2019.csv') +# full_df2020 = pd.read_csv('survey_results_sample_2020.csv') +# df2019 = pd.read_csv('df2019.csv') + +# # Filter the 2020 data +# df2020 = data[(data['SalaryUSD'] < 200000)] -# Load results for job satisfaction from the local file -results = pd.read_csv("results.csv") +# # Load results for job satisfaction from the local file +# results = pd.read_csv("results.csv") #######################################