Data Analysis Libraries Covered in Python-100-Days: NumPy, pandas, and Beyond

The Python-100-Days repository covers the essential Python data analysis stack including NumPy, pandas, matplotlib, seaborn, and scikit-learn through Days 66-90 of its curriculum.

The jackfrued/Python-100-Days repository is one of the most popular Chinese-language Python learning resources on GitHub, structured as a day-by-day progression from basics to advanced topics. Within the data analysis libraries covered in Python-100-Days, the curriculum dedicates Days 66-80 specifically to data analysis fundamentals and Days 81-90 to machine learning applications, providing hands-on experience with industry-standard tools.

Core Data Analysis Libraries in the Curriculum

NumPy for Numerical Computing

NumPy serves as the foundation for numerical computing in the Python-100-Days curriculum. The repository introduces NumPy arrays as the underlying data structure that powers pandas DataFrames and scikit-learn algorithms.

According to the source code in Day66-80/68.NumPy的应用-1.md, learners start with array creation, reshaping, and broadcasting operations. The interactive notebook Day66-80/code/day04.ipynb demonstrates how NumPy vectorization eliminates Python loops for high-performance calculations. Key concepts include ndarray manipulation, universal functions (ufuncs), and linear algebra operations that form the backbone of scientific computing.

pandas for Data Manipulation

pandas is the primary workhorse library, covered extensively in a six-part tutorial series from Day66-80/72.深入浅出pandas-1.md through Day66-80/77.深入浅出pandas-6.md. This deep dive covers DataFrame and Series structures, indexing, grouping, aggregation, and pivot tables.

The repository emphasizes real-world data ingestion patterns using pd.read_csv() and Excel I/O operations. File Day66-80/code/day01.ipynb contains practical examples of loading datasets like USvideos.csv and performing exploratory data analysis with describe(), groupby(), and pivot_table() methods. The curriculum specifically highlights pandas' integration with NumPy arrays for seamless data transformation workflows.

matplotlib and seaborn for Visualization

For data visualization, the curriculum covers both low-level and high-level plotting libraries. matplotlib is introduced in Day31-35/code/example01.py with basic pyplot imports and in Day66-80/72.深入浅出pandas-1.md where DataFrame columns are plotted directly.

seaborn appears in Day66-80/80.数据可视化-3.md (Data Visualization-3), providing statistical visualization capabilities built on top of matplotlib. The repository demonstrates seaborn's pairplot and heatmap functions for multivariate analysis, offering learners attractive default styles for professional reporting without extensive matplotlib customization code.

scikit-learn for Machine Learning

scikit-learn bridges the gap between data analysis and machine learning in Days 81-90. The Day81-90/90.机器学习实战.md (Machine Learning Practice) file presents complete ML pipelines using pandas DataFrames as input data structures.

The curriculum covers preprocessing with StandardScaler, model training with estimators like LogisticRegression, and evaluation using classification_report. Learners implement train-test splits via train_test_split and construct pipelines with make_pipeline to ensure reproducible workflows. Additional files like Day81-90/84.朴素贝叶斯算法.md (Naive Bayes Algorithm) demonstrate specific algorithms applied to pandas datasets.

Supporting Libraries

The repository acknowledges several supporting libraries that enhance the core stack:

  • statsmodels: Listed in Day66-80/66.数据分析概述.md (Data Analysis Overview) for statistical modeling and econometrics-style hypothesis testing, complementing scikit-learn's predictive focus.
  • openpyxl / xlrd / xlwt: These Excel-handling libraries are covered in Day21-30/24.Python读写Excel文件-1.md and Day21-30/25.Python读写Excel文件-2.md, showing how pandas leverages these packages under the hood for read_excel() and to_excel() operations.

Practical Code Examples from the Repository

Below are minimal, runnable snippets illustrating the core usage patterns demonstrated in the Python-100-Days source files.

Loading and Inspecting CSV Data with pandas

import pandas as pd

# Load data (the repo contains sample CSVs in the notebooks)

df = pd.read_csv('data/USvideos.csv')
print(df.head())
print(df.describe())

Source: Day66-80/72.深入浅出pandas-1.md

NumPy Array Creation and Broadcasting

import numpy as np

a = np.arange(12).reshape(3, 4)
b = np.ones((3, 4))
c = a + b            # broadcasting

print(c)

Source: Day66-80/68.NumPy的应用-1.md

Basic matplotlib Visualization

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data/USvideos.csv')
df['views'].head().plot(kind='bar')
plt.title('Top 5 video views')
plt.ylabel('Views')
plt.show()

Source: Day66-80/72.深入浅出pandas-1.md

seaborn Multivariate Exploration

import seaborn as sns
import pandas as pd

df = pd.read_csv('data/USvideos.csv')
sns.pairplot(df[['views', 'likes', 'dislikes']])

Source: Day66-80/80.数据可视化-3.md

scikit-learn Machine Learning Pipeline

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline
from sklearn.metrics import classification_report

df = pd.read_csv('data/titanic.csv')
X = df[['Age', 'Fare']].fillna(0)
y = df['Survived']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

pipe = make_pipeline(StandardScaler(), LogisticRegression())
pipe.fit(X_train, y_train)

pred = pipe.predict(X_test)
print(classification_report(y_test, pred))

Source: Day81-90/90.机器学习实战.md

Key Files and Learning Progression

The repository structures its data analysis content to mirror professional workflows:

  • Day66-80/66.数据分析概述.md: Overview of the data analysis ecosystem and recommended libraries including statsmodels.
  • Day66-80/68.NumPy的应用-1.md: Foundational NumPy operations and array manipulation.
  • Day66-80/72.深入浅出pandas-1.md through 77.深入浅出pandas-6.md: Comprehensive six-part pandas tutorial covering DataFrame operations, grouping, and aggregation.
  • Day66-80/80.数据可视化-3.md: Advanced visualization techniques using seaborn.
  • Day81-90/90.机器学习实战.md: Integration of scikit-learn with pandas for predictive modeling.
  • Day66-80/code/day04.ipynb: Interactive Jupyter notebook combining NumPy and pandas exercises.

Summary

  • Python-100-Days covers the complete data analysis trio: NumPy for numerical computing, pandas for data manipulation, and matplotlib for visualization, supplemented by seaborn for statistical graphics.
  • The curriculum progresses from data ingestion (Days 66-68) through exploratory analysis (Days 72-77) to machine learning (Days 81-90) using scikit-learn.
  • Real-world file formats including CSV and Excel are handled through pandas with underlying support from openpyxl and xlrd.
  • All libraries are taught through hands-on examples in Markdown tutorials and executable Jupyter notebooks located in Day66-80/code/ and Day81-90/ directories.

Frequently Asked Questions

Which data analysis library should I learn first in Python-100-Days?

The curriculum explicitly structures learning to start with NumPy in Day66-80/68.NumPy的应用-1.md before advancing to pandas. Understanding NumPy arrays and broadcasting first provides the foundation necessary to grasp how pandas DataFrames operate under the hood, making subsequent data manipulation concepts significantly clearer.

Does Python-100-Days cover Excel file handling with pandas?

Yes, the repository includes dedicated lessons in Day21-30/24.Python读写Excel文件-1.md and Day25.Python读写Excel文件-2.md that demonstrate reading and writing Excel files using pandas' read_excel() and to_excel() methods. These tutorials explain how pandas internally utilizes openpyxl, xlrd, and xlwt to handle .xlsx and .xls formats.

How does the repository teach matplotlib and seaborn visualization?

The curriculum introduces matplotlib basics through DataFrame plotting methods in the pandas tutorials, specifically in Day66-80/72.深入浅出pandas-1.md. seaborn is covered later in Day66-80/80.数据可视化-3.md as a higher-level interface for statistical visualization, demonstrating how to create complex multi-plot grids like pairplot with minimal code compared to raw matplotlib implementations.

Is scikit-learn covered as part of the data analysis section?

While scikit-learn appears in the machine learning section (Days 81-90), specifically in Day81-90/90.机器学习实战.md, it is taught as the natural extension of data analysis workflows. The repository demonstrates how to pass preprocessed pandas DataFrames directly into scikit-learn pipelines, effectively bridging exploratory data analysis with predictive modeling using the same data structures.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →