pandas 学习笔记

Pandas 学习笔记

参考教程:W3School Pandas 教程


1. Pandas 是什么

Pandas 是 Python 的数据分析库,常用于:

  • 处理表格数据
  • 清洗数据
  • 分析数据
  • 读取 CSV / Excel / JSON 等文件
  • 统计和可视化前的数据准备

核心数据结构:

  • Series:一维带索引数据
  • DataFrame:二维表格数据

导入方式:

import pandas as pd

2. Series

Series 类似一列数据,带索引。

创建 Series

import pandas as pd

a = [1, 7, 2]
myvar = pd.Series(a)

print(myvar)

指定索引

myvar = pd.Series(a, index=["x", "y", "z"])
print(myvar)

用字典创建 Series

calories = {"day1": 420, "day2": 380, "day3": 390}
myvar = pd.Series(calories)
print(myvar)

3. DataFrame

DataFrame 类似表格,有行有列。

创建 DataFrame

data = {
  "calories": [420, 380, 390],
  "duration": [50, 40, 45]
}

df = pd.DataFrame(data)
print(df)

指定行索引

df = pd.DataFrame(data, index=["day1", "day2", "day3"])
print(df)

访问某一行

print(df.loc["day2"])

访问多行

print(df.loc[["day1", "day2"]])

4. 读取文件

Pandas 可以读取多种数据源。

读取 CSV

df = pd.read_csv("data.csv")
print(df)

完整显示

print(df.to_string())

读取 JSON

df = pd.read_json("data.json")
print(df.to_string())

5. 常用查看方法

查看前几行

print(df.head())

默认前 5 行。

print(df.head(10))

查看前 10 行。

查看后几行

print(df.tail())

查看数据信息

print(df.info())

常看内容:

  • 总行数
  • 每列名称
  • 非空数量
  • 数据类型

6. 数据清洗

数据清洗是 Pandas 很重要的一部分。

常见问题:

  • 空值
  • 错误格式
  • 错误数据
  • 重复数据

7. 处理空值

删除包含空值的行

new_df = df.dropna()
print(new_df.to_string())

注意:默认不会修改原表。

直接修改原表

df.dropna(inplace=True)

填充空值

df.fillna(130, inplace=True)

某一列填充

df["Calories"].fillna(130, inplace=True)

用平均值填充

x = df["Calories"].mean()
df["Calories"].fillna(x, inplace=True)

用中位数填充

x = df["Calories"].median()
df["Calories"].fillna(x, inplace=True)

用众数填充

x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace=True)

8. 修正数据格式

转换日期格式

df["Date"] = pd.to_datetime(df["Date"])

如果有错误日期,可以配合删除空值处理。


9. 修正错误数据

可以直接指定位置修改:

df.loc[7, "Duration"] = 45

也可以根据条件批量修改:

for x in df.index:
    if df.loc[x, "Duration"] > 120:
        df.loc[x, "Duration"] = 120

或者直接删除异常行:

for x in df.index:
    if df.loc[x, "Duration"] > 120:
        df.drop(x, inplace=True)

10. 删除重复数据

查重

print(df.duplicated())

删除重复行

df.drop_duplicates(inplace=True)

11. 数据分析基础

查看相关性

print(df.corr())

作用:

  • 查看数值列之间的相关程度
  • 接近 1:正相关
  • 接近 -1:负相关
  • 接近 0:相关性弱

注意:

  • 相关性不等于因果关系

12. 绘图

Pandas 可以直接配合 matplotlib 画图。

折线图

df.plot()

散点图

df.plot(kind="scatter", x="Duration", y="Calories")

柱状图

df.plot(kind="bar")

使用前通常需要:

import matplotlib.pyplot as plt
plt.show()

完整例子:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("data.csv")
df.plot()
plt.show()

13. 高频方法速查

创建

pd.Series()
pd.DataFrame()

读取

pd.read_csv()
pd.read_json()

查看

df.head()
df.tail()
df.info()
df.to_string()

选取

df.loc[]

清洗

df.dropna()
df.fillna()
df.drop_duplicates()
pd.to_datetime()

统计

df.mean()
df.median()
df.mode()
df.corr()

绘图

df.plot()

14. 学习重点总结

我自己目前觉得 Pandas 入门最重要的是先掌握这几块:

  1. SeriesDataFrame 的区别
  2. read_csv() 读取数据
  3. head() / info() 看数据结构
  4. dropna() / fillna() 处理空值
  5. drop_duplicates() 去重
  6. loc[] 定位和修改数据
  7. to_datetime() 处理日期
  8. corr() 看相关性
  9. plot() 做基础可视化

15. 一个最小练习流程

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("data.csv")

print(df.head())
print(df.info())

df["Calories"].fillna(df["Calories"].mean(), inplace=True)
df.drop_duplicates(inplace=True)

df["Date"] = pd.to_datetime(df["Date"])

print(df.corr(numeric_only=True))

df.plot()
plt.show()

这个流程可以帮助熟悉:

  • 读取数据
  • 查看数据
  • 填空值
  • 去重
  • 转日期
  • 计算相关性
  • 绘图

16. 后续建议

继续往下学时,可以重点补:

  • iloc[]
  • 条件筛选
  • 排序
  • 分组统计 groupby()
  • 合并表 merge()
  • Excel 读写
posted @ 2026-06-30 19:10  涔涔閒愁  阅读(18)  评论(0)    收藏  举报