|
| 1 | +--- |
| 2 | +title: "Pandas Extending & Plotting" |
| 3 | +numberOfPeople: "5-10" # How many people you expect to be able to accommodate. |
| 4 | +pythonLevel: "Intermediate" # Any, Beginner, Intermediate, or Advanced. |
| 5 | +contactPerson: # The main person to reach out to regarding the sprint. |
| 6 | + name: "Julian Harbeck" |
| 7 | + email: harbeck@tu-berlin.de |
| 8 | + github: https://github.com/Julian-Harbeck |
| 9 | + twitter: |
| 10 | +links: # Add as many links as relevant. |
| 11 | + - title: "Project pandas GitHub repo" |
| 12 | + url: "https://github.com/pandas-dev/pandas/" |
| 13 | + - title: "Project astropy GitHub repo" |
| 14 | + url: "https://github.com/astropy/astropy" |
| 15 | + - title: |
| 16 | + "Project astropy-pandas GitHub repo (extending pandas with astropy object |
| 17 | + support)" |
| 18 | + url: "https://github.com/janpipek/pandas-units-extension" |
| 19 | + - title: |
| 20 | + "Project skyfield-pandas GitHub repo (extending pandas with skyfield |
| 21 | + object support)" |
| 22 | + url: "https://github.com/Julian-Harbeck/pandas-skyfield-extension" |
| 23 | +--- |
| 24 | + |
| 25 | +Pandas has a powerful extension API that allows other libraries to create their |
| 26 | +own dtype and ExtensionArray (EA) and define their behaviour, e.g. arithmetic |
| 27 | +operation with scalars and arrays. In the past year I have both worked on the |
| 28 | +pandas EA API (e.g. adding a plotting API) and implementing/updating EA for |
| 29 | +other packages (astropy, skyfield, see links above). In `astropy-pandas` we have |
| 30 | +implemented an EA supporting `Quantity` objects, arrays with a physical unit |
| 31 | +attached to them. This includes arithmetic operations, but also unit conversions |
| 32 | +(`ft` -> `m`) or reductions like `.mean()`, more examples can be found in |
| 33 | +[doc/units.ipynb](https://github.com/janpipek/pandas-units-extension/blob/main/doc/units.ipynb). |
| 34 | +`skyfield-pandas` implements an EA wrapper for the Skyfield library for orbit |
| 35 | +propagation of satellites and fast vectorized operations on them (exampels see |
| 36 | +[doc/skyfield_position.ipynb](https://github.com/Julian-Harbeck/pandas-skyfield-extension/blob/main/doc/skyfield_position.ipynb)). |
| 37 | + |
| 38 | +For this sprint I am open to work on one or more of the following topics |
| 39 | +depending where the most interested is in: |
| 40 | + |
| 41 | +- Conitinue working on one of the two existing extensions, giving an |
| 42 | + introduction how they work and implement smaller new features (e.g. JSON |
| 43 | + serialization, accumulative operations) including tests. |
| 44 | +- Start the development of an entirely new EA. Which array-like object did you |
| 45 | + always wanted to be compatible with pandas including vectorized operations? |
| 46 | + Let's develop a first working prototype of an EA supporting the basic |
| 47 | + functionallity. |
| 48 | +- Working on pandas directly, how to write a good first issue, how to implement |
| 49 | + and test a new feature locally and how to create a good PR. I am not an export |
| 50 | + on the whole pandas package yet as I have only joined the team recently, but I |
| 51 | + have worked especially on the ExtensionArray and plotting API. |
0 commit comments