Open-source project
BrambleXu/pydata-notebook avatar
BrambleXu/pydata-notebook

pydata-notebook: A Chinese Translation of Wes McKinney's pandas Book, With Caveats

GitHub describes it as Chinese translation notes for Python for Data Analysis, 2nd Edition (2017). The repository metadata lists Jupyter Notebook as its primary language. This article stays within the project description and details documented in the GitHub repository README.

4,648 stars1,601 forksJupyter NotebookLicense varies

At a glance

What is it?
pydata-notebook is a Jupyter notebook collection that translates selected chapters of Python for Data Analysis, 2nd Edition into Chinese. It is useful for Mandarin-speaking learners, but it is incomplete and carries copyright restrictions that limit its scope.
Who is it for?
Adopt pydata-notebook if you are a Chinese-speaking learner who wants a free, notebook-based introduction to NumPy and pandas, and you accept that it covers only a subset of the book. Do not adopt it if you need the full text, the latest pandas API, or a maintained project, since the repository has not been updated since 2017 and the author himself warns of errors.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Probably not. The repository last received commits 102 months ago, on May 8, 2018.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • BrambleXu/pydata-notebook4,648 ★ · -5
Star history
Repository2026-08-132026-10-22
BrambleXu/pydata-notebook4.7k4.6k

-5 Stars in the last 70 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

What This Repository Actually Provides

pydata-notebook is a set of Jupyter notebooks that translate selected chapters of Python for Data Analysis, 2nd Edition by Wes McKinney into Chinese. The author, BrambleXu, wrote these notes while working through the book, and the README states that he contacted McKinney directly and that the translation will not be used commercially. The repository is not a full translation. It covers Chapter 4 on NumPy basics, Chapter 5 on pandas data structures, Chapter 7 on data cleaning, Chapter 11 on time series, Chapter 12 on categorical data, and Chapter 14 with three data analysis examples. Each chapter is split into individual notebooks, and the README links to them via nbviewer. The intended audience is Chinese-speaking programmers who want to learn pandas and NumPy without reading the English original. The author is explicit that this is a personal study aid, not a polished publication.

The Translation Style and Its Trade-offs

The README explains that the translation is not word-for-word. BrambleXu says he tried to make the Chinese readable rather than literal, and he kept some English terms alongside their Chinese translations. That choice helps readers who later need to look up documentation in English. However, the author also admits that the translation is not carefully checked and may contain errors. He recommends that readers buy the official Chinese edition when it becomes available. This is a genuine limitation. If you rely on this notebook for learning, you may absorb mistakes or miss nuances that a professional translation would catch. The trade-off is that you get a free, community-made resource, but you trade accuracy for convenience. For a beginner, that can be risky, especially when learning pandas, where small API differences can cause confusion.

How the Notebooks Are Structured

Each chapter folder contains multiple .ipynb files, one per section. For example, Chapter 4 has 4.1, 4.2, and 4.3, covering the ndarray, universal functions, and array-oriented programming. Chapter 5 has three notebooks on data structures, essential functionality, and descriptive statistics. The notebooks are meant to be viewed on nbviewer, and the README provides direct links to each file. The content is a mix of Chinese explanations and English code. The author notes that he wrote the code using Python 3.5, while the book uses Python 3.6, and he claims there is no difference in usage. That claim may hold for the basics, but pandas has changed significantly since 2017. If you run these notebooks today, you may encounter deprecation warnings or broken code. The repository layout is simple: no package, no installation script, just notebooks.

Getting It Running: Commands and Environment

To use pydata-notebook, you need Jupyter and the libraries mentioned in the book, primarily NumPy and pandas. The README does not provide a requirements.txt or an environment.yml file. You must install the dependencies yourself. A typical setup would be: pip install jupyter numpy pandas, then clone the repository with git clone https://github.com/BrambleXu/pydata-notebook.git, and open the notebooks with jupyter notebook. The notebooks are self-contained, meaning each one includes the code cells you need to run. However, some examples in Chapter 14 use external datasets like USA.gov data from Bitly, MovieLens 1M, and US Baby Names. The README does not specify where to download those datasets. You will need to find them from the original book's repository or other sources. This is a concrete barrier: without the data files, those notebooks will not run as intended.

The Copyright Constraint and Its Consequences

The most striking part of the README is the copyright statement. The author initially translated the entire book, but after being reminded that foreign authors do not hold translation rights, he removed most of the content. He kept only a selection of basic chapters. This means the repository is intentionally incomplete. The README says that the code in the notebooks is released under the MIT license, but the translation text itself may not be freely licensed, since the author does not hold the rights. The repository's license field is listed as unknown, which is a red flag for any engineer who cares about legal reuse. The MIT license covers the code samples, but the Chinese prose is a separate matter. If you plan to copy the explanations into your own documentation, you should treat them as copyrighted material. The author himself says the translation is not for commercial use. This is a real limitation, not a hypothetical one.

Maintenance and Upgrade Cost

The repository has not been updated since the last commit, which the README references as commit 94ab376, with the phrase 'I can only help so much'. The default branch is master, and there are no recent releases. This is a stale project. The book it translates is from 2017, and pandas has evolved considerably since then. For example, the categorical data notebook in Chapter 12 covers an older API. If you use these notebooks to learn, you will need to adapt the code to current pandas versions. That is an upgrade cost. You must test each notebook, fix deprecated function calls, and update any data-loading steps. The author does not provide a changelog or a migration guide. For a production data team, this is not a reliable reference. For a learner, it is a starting point, but you will need to cross-check with the official pandas documentation.

Alternatives and What They Offer Differently

The official English repository, pydata-book by Wes McKinney, is the direct alternative. It contains the full set of notebooks for the second edition, updated to match the book's code. The difference is that pydata-book is in English and maintained by the author, so it is more likely to stay current with pandas changes. Another alternative is the published Chinese edition of the book, which the README itself recommends. That edition is professionally translated and covers the entire book, but it is not free. If you only need Chinese explanations for NumPy and pandas basics, pydata-notebook is sufficient. If you need the complete book or the latest API, you should use the official repository or the printed book. The trade-off is clear: pydata-notebook offers a free, partial translation with no maintenance, while the alternatives offer completeness and accuracy at a cost.

Editorial conclusion

Adopt pydata-notebook if you are a Chinese-speaking learner who wants a free, notebook-based introduction to NumPy and pandas, and you accept that it covers only a subset of the book. Do not adopt it if you need the full text, the latest pandas API, or a maintained project, since the repository has not been updated since 2017 and the author himself warns of errors. Before relying on it, verify that the notebooks run with your Python version, check the MIT license on the code samples, and compare the content against the official English repository or the published Chinese edition for accuracy.

Frequently asked questions

What is BrambleXu/pydata-notebook?

Chinese translation notes for Python for Data Analysis, second edition (2017) by Wes McKinney, kept as Jupyter notebooks. The author translated part of the book for study purposes and released the code, including every code sample in the notebooks, under the MIT license.

Which chapters does pydata-notebook cover?

Six chapters in part: Chapter 4 on NumPy basics, Chapter 5 on getting started with pandas, Chapter 7 on data cleaning and preparation, Chapter 11 on time series, Chapter 12 on advanced pandas with categorical data, and three examples from Chapter 14 including the USA.gov data and MovieLens 1M.

Which Python version do the pydata-notebook notes target?

The book moved to Python 3.6 in the second edition while the notes' code is based on Python 3.5, which the author says makes no difference in use. The second edition also switched its installation chapter to the Anaconda Python distribution.

Can I reuse the code from these notebooks?

The repository states that the code, including all code samples in the notebooks, is released under the MIT license through LICENSE-CODE. The translated prose is separate, and the author says the translation was an unauthorised personal effort covering only part of the book.

Why are some chapters missing from pydata-notebook?

The statement section says only relatively basic chapters were kept, to respect copyright and the work of other translators, with readers pointed at the forthcoming official Chinese edition for the full text. The contents list closes with a commit reference and a note that the author can only help this far.

Official sources

  1. Official README
  2. Project repository
  3. README
  4. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/bramblexu-pydata-notebook.svg)](https://hysenlabs.com/projects/bramblexu-pydata-notebook)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/bramblexu-pydata-notebook.svg)](https://hysenlabs.com/projects/bramblexu-pydata-notebook)