pandas (software)

pandas
Original author(s)Wes McKinney
Developer(s)Community
Initial release11 January 2008; 15 years ago (2008-01-11)[citation needed]
Stable release
1.5.3[1] / 18 January 2023; 24 days ago (18 January 2023)
Repository
Written inPython, Cython, C
Operating systemCross-platform
TypeTechnical computing
LicenseNew BSD License
Websitepandas.pydata.org

pandas is a software library written for the Python programming language for data manipulation and analysis.[2] In particular, it offers data structures and operations for manipulating numerical tables and time series. It is free software released under the three-clause BSD license.[3] The name is derived from the term "panel data", an econometrics term for data sets that include observations over multiple time periods for the same individuals.[4] Its name is a play on the phrase "Python data analysis" itself.[5] Wes McKinney started building what would become pandas at AQR Capital while he was a researcher there from 2007 to 2010.[6]

Library features

  • Many inbuilt methods available for fast data manipulation made possible with vectorisation
  • DataFrame object for multivariate data manipulation with integrated indexing.
  • Series object for univariate data manipulation with integrated indexing
  • Tools for reading and writing data between in-memory data structures and different file formats.
  • Data alignment and integrated handling of missing data.
  • Reshaping and pivoting of data sets.
  • Label-based slicing, fancy indexing, and subsetting of large data sets.
  • Data structure column insertion and deletion.
  • Group by engine allowing split-apply-combine operations on data sets.
  • Data set merging and joining.
  • Hierarchical axis indexing to work with high-dimensional data in a lower-dimensional data structure.
  • Time series-functionality: Date range generation[7] and frequency conversions, moving window statistics, moving window linear regressions, date shifting and lagging.
  • Provides data filtration.

The library is highly optimized for performance, with critical code paths written in Cython or C.[8]

DataFrames

Pandas is mainly used for data analysis and associated manipulation of tabular data in DataFrames. Pandas allows importing data from various file formats such as comma-separated values, JSON, Parquet, SQL database tables or queries, and Microsoft Excel.[9] Pandas allows various data manipulation operations such as merging,[10] reshaping,[11] selecting,[12] as well as data cleaning, and data wrangling features. The development of pandas introduced into Python many comparable features of working with DataFrames that were established in the R programming language. The pandas library is built upon another library NumPy, which is oriented to efficiently working with arrays instead of the features of working on DataFrames.

History

Developer Wes McKinney started working on pandas in 2008 while at AQR Capital Management out of the need for a high performance, flexible tool to perform quantitative analysis on financial data. Before leaving AQR he was able to convince management to allow him to open source the library.

Another AQR employee, Chang She, joined the effort in 2012 as the second major contributor to the library.

In 2015, pandas signed on as a fiscally sponsored project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States.[13]

Timeline:[14]

  • 2008: Development of pandas started
  • 2009: pandas becomes open source
  • 2012: First edition of Python for Data Analysis is published
  • 2015: pandas becomes a NumFOCUS sponsored project
  • 2018: First in-person core developer sprint

See also

References

  1. ^ "Pandas 1.5.3". 18 January 2023. Retrieved 22 January 2023.
  2. ^ Brooks, Gabriel. "Introduction to Python Pandas for Beginners". Almabetter.com. Retrieved 24 October 2020.
  3. ^ "License – Package overview – pandas 1.0.0 documentation". pandas. 28 January 2020. Retrieved 30 January 2020.
  4. ^ Wes McKinney (2011). "pandas: a Foundational Python Library for Data Analysis and Statistics" (PDF). Retrieved 2 August 2018.
  5. ^ McKinney, Wes (2017). Python for Data Analysis, Second Edition. O'Reilly Media. p. 5. ISBN 9781491957660.
  6. ^ Kopf, Dan. "Meet the man behind the most important tool in data science". Quartz. Retrieved 17 November 2020.
  7. ^ "pandas.date_range – pandas 1.0.0 documentation". pandas. 29 January 2020. Retrieved 30 January 2020.
  8. ^ "Python Data Analysis Library – pandas: Python Data Analysis Library". pandas. Retrieved 13 November 2017.
  9. ^ "IO tools (Text, CSV, HDF5, …) — pandas 1.4.1 documentation".
  10. ^ "Merge, join, concatenate and compare — pandas 1.4.1 documentation".
  11. ^ "Reshaping and pivot tables — pandas 1.4.1 documentation".
  12. ^ "Indexing and selecting data — pandas 1.4.1 documentation".
  13. ^ "NumFOCUS – pandas: a fiscally sponsored project". NumFOCUS. Retrieved 3 April 2018.
  14. ^ "pandas - Python Data Analysis Library". pandas.pydata.org. Retrieved 29 September 2021.

Further reading

  • McKinney, Wes (2017). Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython (2nd ed.). Sebastopol: O'Reilly. ISBN 978-1-4919-5766-0.
  • Molin, Stefanie (2019). Hands-On Data Analysis with Pandas: Efficiently perform data collection, wrangling, analysis, and visualization using Python. Packt. ISBN 978-1-7896-1532-6.
  • Chen, Daniel Y. (2018). Pandas for Everyone : Python Data Analysis. Boston: Addison-Wesley. ISBN 978-0-13-454693-3.
  • VanderPlas, Jake (2016). "Data Manipulations with Pandas". Python Data Science Handbook: Essential Tools for Working with Data. O'Reilly. pp. 97–216. ISBN 978-1-4919-1205-8.
  • Pathak, Chankey (2018). Pandas Cookbook. pp. 1–8.

External links