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

> Explore Python data analysis libraries like NumPy and pandas covered in the Python-100-Days course. Master essential tools for data science and machine learning.

- Repository: [骆昊/Python-100-Days](https://github.com/jackfrued/Python-100-Days)
- Tags: tutorial
- Published: 2026-02-24

---

**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`](https://github.com/jackfrued/Python-100-Days/blob/main/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

```python
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

```python
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

```python
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

```python
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

```python
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.