Re: [GSOC2020][Boost.uBLAS] uBLAS DataFrame feature
Aniket Chowdhury via ublas <[email protected]> Fri, 20 Mar 2020 18:22:45 +0530
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CAD+OSvVyAohsEe+cOaL7AD-X-=nHVms4mNoM+61Nac7u9=jxMQ@mail.gmail.com> |
--===============5558564454108493862== Content-Type: multipart/alternative; boundary="000000000000be138c05a148c3c1" --000000000000be138c05a148c3c1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hey Cem. I went through the draft proposal and had some questions. Which direction do you think I should pursue? I am more inclined towards refactoring the enitre data_frame because if I believe correctly uBlas is moving towards C++20. Should I stick with ETs or can I use Ranges and Concepts? I was thinking to stick to standard C++20 Ranges only instead of Eric Neibler's One Ranges v3 library considering std to be more relevant. On Wed, 18 Mar 2020, 23:49 Aniket Chowdhury, <[email protected]> wrote: > Hey Cem. > Thanks for replying. Will do the needful and get back to you. > I understand that the proposal could do with a few more code examples. > Thanks. > > On Wed, Mar 18, 2020 at 8:15 PM Cem Bassoy via ublas < > [email protected]> wrote: > >> Hi Aniket, >> >> thanks for considering Boost/uBLAS. Your potential mentor is David. If h= e >> does not respond, just follow the instructions on the GSoC page and uplo= ad >> your proposal. >> >> Please note that we appreciate concrete (with code samples), realistic >> (regarding time) and referring (to previous or pull requests) proposals. >> Concrete examples inside the proposal will help us to understand intenti= on >> and it will demonstrate your experience and expertise. >> > I am pretty cobfident with the timeline that I have provided with. Again, regarding code examples should I add them for both C++20 and/or ET? > >> Additionally, I advise to read >> >> - previous gsoc discussions on this or on the general boost mailing >> list >> - former gsoc student projects and proposals >> >> to have a good feeling of the requirements. >> >> Best, >> Cem >> >> >> >> Am Mo., 16. M=C3=A4rz 2020 um 23:15 Uhr schrieb Aniket Chowdhury via ubl= as < >> [email protected]>: >> >>> Hi, >>> My name is Aniket Chowdhury >>> <https://github.com/aniket-chowdhury?tab=3Drepositories> and I am >>> second-year undergraduate student. >>> >>> I wish to implement the DataFrame library for Boost. I have made the >>> project proposal and am attaching the same. >>> As, this project is an expansion of the previous project >>> <https://github.com/BoostGSoC19/data_frame> there are a few directions >>> that I would like to work in whichever adds more to the project. >>> >>> 1. We could be to keep the existing code base as it is and implement ne= w >>> features on top of it. >>> 2. We could try to restructure the code into *Modules*(C++20 feature) >>> and then implement the features. >>> 3. Or, we could restructure the code without ET but rather using *C++20 >>> One Ranges*. This makes more sense to me as I believe that uBlas is >>> being ported to C++20. >>> >>> The DataFrame would include the following features: >>> 1. All the features already present(union, combine, join). >>> 2. Read/write from *DataFrame using JSON*(boost::property_tree to >>> DataFrame) >>> 3. Operator support for addition, subtraction, multiplication, >>> division, modulo and power, etc as well as support for comparison >>> operators. >>> 4. Functions to perform apply, apply_element_wise, aggregate, transform >>> and expand on a given DataFrame. >>> 5. Data analysis tools for standard deviation, variance, mean, etc. >>> 6. Re-indexing methods like replace, duplicate, filter, etc. >>> 7. Reshaping methods for sorting, append, pivot, etc. >>> >> Also, could you tell me if I am on the right track regarding the free form functions that Boost is looking for? > >>> *Full Details* of the same can be found in the *Project Proposal*. >>> >>> I have been in contact with David Bellot for the past week regarding >>> GSoC. I have completed the first draft of the competency check and sent= the >>> same to him. I would love to work I am requesting him to be assigned a= s a >>> mentor for the same. >>> *PFA: *The Project Proposal >>> <https://docs.google.com/document/d/1wyegbUEbpOopaQSWtFd0a_ch4QeIERKXGV= X6GJSSdBo/edit?usp=3Dsharing>(linked >>> in case the attachment fails) >>> >> Here was the old proposal. > >>> This is an official application for the GSoC' 20. I am open to any and >>> all suggestions. >>> >>> Aniket Chowdhury >>> _______________________________________________ >>> ublas mailing list >>> [email protected] >>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>> Sent to: [email protected] >>> >> _______________________________________________ >> ublas mailing list >> [email protected] >> https://lists.boost.org/mailman/listinfo.cgi/ublas >> Sent to: [email protected] >> > --000000000000be138c05a148c3c1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">Hey Cem.=C2=A0<div dir=3D"auto">I went through the draft = proposal and had some questions.<div dir=3D"auto"><br></div><div dir=3D"aut= o">Which direction do you think I should pursue? I am more inclined towards= refactoring the enitre data_frame because if I believe correctly uBlas is = moving towards C++20. Should I stick with ETs or can I use Ranges and Conce= pts?=C2=A0</div><div dir=3D"auto"><br></div><div dir=3D"auto">I was thinkin= g to stick to standard C++20 Ranges only instead of Eric Neibler's One = Ranges v3 library considering std to be more relevant.=C2=A0</div><div dir= =3D"auto"><br></div></div><br><br><div class=3D"gmail_quote" dir=3D"auto"><= div dir=3D"ltr" class=3D"gmail_attr">On Wed, 18 Mar 2020, 23:49 Aniket Chow= dhury, <<a href=3D"mailto:[email protected]">8.aniket.chowdhu= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quote" styl= e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div di= r=3D"ltr">Hey Cem.<div>Thanks for replying. Will do the needful and get bac= k to you.=C2=A0</div><div>I understand that the proposal could do with a fe= w more code examples.=C2=A0</div><div>Thanks.</div></div><br><div class=3D"= gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Mar 18, 2020 at = 8:15 PM Cem Bassoy via ublas <<a href=3D"mailto:[email protected]" t= arget=3D"_blank" rel=3D"noreferrer">[email protected]</a>> wrote:<br= ></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;= border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><= div>Hi Aniket,</div><div><br></div><div>thanks for considering Boost/uBLAS.= Your potential mentor is David. If he does not respond, just follow the in= structions on the GSoC page and upload your proposal.</div><div><br></div><= div>Please note that we appreciate concrete (with code samples), realistic = (regarding time) and referring (to previous or pull requests) proposals. Co= ncrete examples inside the proposal will help us to understand intention an= d it will demonstrate your experience and expertise. <br></div></div></bloc= kquote></div></blockquote></div><div dir=3D"auto">I am pretty cobfident wit= h the timeline that I have provided with. Again, regarding code examples sh= ould I add them for both C++20 and/or ET?</div><div class=3D"gmail_quote" d= ir=3D"auto"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo= rder-left:1px #ccc solid;padding-left:1ex"><div class=3D"gmail_quote"><bloc= kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:= 1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div></div><d= iv><br></div><div>Additionally, I advise to read </div><div><ul><li>previou= s gsoc discussions on this or on the general boost mailing list</li><li>for= mer gsoc student projects and proposals</li></ul><div>to have a good feelin= g of the requirements.<br></div></div><div><br></div><div>Best,</div><div>C= em<br></div><div><br></div><div><br></div></div><br><div class=3D"gmail_quo= te"><div dir=3D"ltr" class=3D"gmail_attr">Am Mo., 16. M=C3=A4rz 2020 um 23:= 15=C2=A0Uhr schrieb Aniket Chowdhury via ublas <<a href=3D"mailto:ublas@= lists.boost.org" target=3D"_blank" rel=3D"noreferrer">[email protected]= </a>>:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p= x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div d= ir=3D"ltr">Hi,=C2=A0<div>My name is=C2=A0<a href=3D"https://github.com/anik= et-chowdhury?tab=3Drepositories" target=3D"_blank" rel=3D"noreferrer">Anike= t Chowdhury</a>=C2=A0and I am second-year undergraduate student.</div><div>= <br></div><div>I wish to implement the DataFrame library for Boost. I have = made the project proposal and am attaching the same.</div><div><div><div><d= iv></div></div></div><div></div></div><div>As, this project is an expansion= of the=C2=A0<a href=3D"https://github.com/BoostGSoC19/data_frame" target= =3D"_blank" rel=3D"noreferrer">previous project</a>=C2=A0there are a few di= rections that I would like to work in whichever adds more to the project.</= div><div><br></div><div>1. We could be to keep the existing code base as it= is and implement new features on top of it.</div><div>2. We could try to r= estructure the code into=C2=A0<b>Modules</b>(C++20 feature) and then implem= ent the features.</div><div>3. Or, we could restructure the code without=C2= =A0ET but rather using=C2=A0<b>C++20 One Ranges</b>. This makes more sense = to me as I believe that uBlas is being ported to C++20.</div><div><br></div= ><div>The DataFrame would include the following features:</div><div>1. All = the features already present(union, combine, join).</div><div>2. Read/write= from=C2=A0<b>DataFrame using JSON</b>(<span style=3D"background-color:tran= sparent;color:rgb(36,39,41);font-family:"Courier New";white-space= :pre-wrap">boost::property_tree to DataFrame</span>)</div><div>3. Operator = support for=C2=A0<span style=3D"background-color:transparent;color:rgb(0,0,= 0);font-family:"Proxima Nova",sans-serif;font-weight:700;white-sp= ace:pre-wrap">addition, subtraction, multiplication, division, modulo and p= ower, etc </span><span style=3D"background-color:transparent;color:rgb(0,0,= 0);font-family:"Proxima Nova",sans-serif;white-space:pre-wrap">as= well as support for comparison operators.</span></div><div>4. Functions to= perform<span style=3D"background-color:transparent;font-variant-numeric:no= rmal;font-variant-east-asian:normal;font-family:"Proxima Nova",sa= ns-serif;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"> </= span><span style=3D"background-color:transparent;font-variant-numeric:norma= l;font-variant-east-asian:normal;font-family:"Proxima Nova",sans-= serif;color:rgb(0,0,0);font-weight:700;vertical-align:baseline;white-space:= pre-wrap">apply, apply_element_wise, aggregate, transform and expand</span>= <span style=3D"background-color:transparent;font-variant-numeric:normal;fon= t-variant-east-asian:normal;font-family:"Proxima Nova",sans-serif= ;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"> on a given= DataFrame.</span><br></div>5. Data analysis tools for=C2=A0<span id=3D"m_-= 7149760812391761650gmail-m_-8094012315361310134gmail-m_1372898159282983835g= mail-m_2539347862788583833gmail-m_-63067745495130108gmail-docs-internal-gui= d-7ab2eedf-7fff-5324-29fc-108f6de832ec"><span style=3D"font-family:"Pr= oxima Nova",sans-serif;color:rgb(0,0,0);background-color:transparent;f= ont-weight:700;font-variant-numeric:normal;font-variant-east-asian:normal;v= ertical-align:baseline;white-space:pre-wrap">standard deviation, variance, = mean, etc.</span></span><div>6. Re-indexing methods like=C2=A0<span id=3D"m= _-7149760812391761650gmail-m_-8094012315361310134gmail-m_137289815928298383= 5gmail-m_2539347862788583833gmail-m_-63067745495130108gmail-docs-internal-g= uid-97de9fde-7fff-ff47-7f83-0a08903e6481"><span style=3D"font-family:"= Proxima Nova",sans-serif;color:rgb(0,0,0);background-color:transparent= ;font-weight:700;font-variant-numeric:normal;font-variant-east-asian:normal= ;vertical-align:baseline;white-space:pre-wrap">replace, duplicate, filter, = etc.</span></span></div><div>7. Reshaping methods for=C2=A0<span id=3D"m_-7= 149760812391761650gmail-m_-8094012315361310134gmail-m_1372898159282983835gm= ail-m_2539347862788583833gmail-m_-63067745495130108gmail-docs-internal-guid= -ed39d162-7fff-e164-cd1e-4f0db510492b"><span style=3D"font-family:"Pro= xima Nova",sans-serif;color:rgb(0,0,0);background-color:transparent;fo= nt-weight:700;font-variant-numeric:normal;font-variant-east-asian:normal;ve= rtical-align:baseline;white-space:pre-wrap">sorting, append, pivot, etc.</s= pan></span></div></div></blockquote></div></blockquote></div></blockquote><= /div><div dir=3D"auto"><span style=3D"font-family:sans-serif">Also, could y= ou tell me if I am on the right track regarding the free form functions tha= t Boost is looking for?</span><br></div><div class=3D"gmail_quote" dir=3D"a= uto"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le= ft:1px #ccc solid;padding-left:1ex"><div class=3D"gmail_quote"><blockquote = class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol= id rgb(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><blockquot= e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s= olid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div><span style= =3D"font-family:"Proxima Nova",sans-serif;color:rgb(0,0,0);backgr= ound-color:transparent;font-weight:700;font-variant-numeric:normal;font-var= iant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"></span= ></div><div><font face=3D"Proxima Nova, sans-serif" color=3D"#000000"><span= style=3D"white-space:pre-wrap"><br></span></font></div><div><font face=3D"= Proxima Nova, sans-serif" color=3D"#000000"><span style=3D"white-space:pre-= wrap"><b>Full Details</b> of the same can be found in the <b>Project Propos= al</b>.<b><br></b></span></font><div><div><br></div><div>I have been in con= tact with David Bellot for the past week regarding GSoC. I have completed t= he first draft of the competency check and sent the same to him. I would lo= ve to work=C2=A0 I am requesting him to be assigned as a mentor for the sam= e.</div></div></div><div><div><b>PFA:=C2=A0</b><a href=3D"https://docs.goog= le.com/document/d/1wyegbUEbpOopaQSWtFd0a_ch4QeIERKXGVX6GJSSdBo/edit?usp=3Ds= haring" style=3D"font-weight:bold" target=3D"_blank" rel=3D"noreferrer">The= Project Proposal</a>(linked in case the attachment fails)<br></div></div><= /div></blockquote></div></blockquote></div></blockquote></div><div dir=3D"a= uto">Here was the old proposal.=C2=A0</div><div class=3D"gmail_quote" dir= =3D"auto"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord= er-left:1px #ccc solid;padding-left:1ex"><div class=3D"gmail_quote"><blockq= uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p= x solid rgb(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><bloc= kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:= 1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div><div></d= iv><div><br></div><div>This is an official application for the GSoC' 20= . I am open to any and all suggestions.=C2=A0</div><font color=3D"#888888">= <div><br></div></font></div><font color=3D"#888888"><div>Aniket Chowdhury</= div></font></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferre= r">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"n= oreferrer">[email protected]</a><br> </blockquote></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferre= r">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank" = rel=3D"noreferrer">[email protected]</a><br> </blockquote></div> </blockquote></div></div> --000000000000be138c05a148c3c1-- --===============5558564454108493862== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline