Python Pandas 基础教程(上篇)
来源:     阅读:2
易浩激活码
发布于 2025-11-13 21:02
查看主页

1. 什么是 Pandas?

Pandas 是基于 NumPy 的数据分析库,擅长处理表格化或异质性数据(well-suited for tabular or heterogeneous data)


2. 安装与导入

2.1 安装

pip install pandas # 如果你已安装 Anaconda,则默认自带 Pandas,不需要pip install...

2.2 导入 (Import)

import pandas as pd  # pd同样也是海内外社区通用名称

3. 核心数据结构

3.1 Series:一维数据

import pandas as pd
import numpy as np

# 创建一个简单的Series
一维数组 = pd.Series(["贝果", "司康", "碱水"], index=["星期一", "星期二", "星期三"], name="早餐")
print(一维数组["星期一"]) # 输出贝果

# 从字典创建Series
午餐 = { "星期一": "沙县", "星期二": "黄焖鸡", "星期三": "麻辣烫"}
午餐数组 = pd.Series(午餐, name="午餐")
print(午餐数组["星期二"]) # 输出黄焖鸡

# 从NumPy数组创建Series
晚餐 = np.array(["炒饭", "炒面", "炒粉"])
索引 = ["星期一", "星期二", "星期三"]
晚餐数组 = pd.Series(晚餐, index=索引, name="晚餐")
print(晚餐数组["星期三"]) # 输出炒粉

关于索引的说明:

3.2 Series基本操作

print(晚餐数组.values)  # 获取值数组
print(晚餐数组.index)   # 获取索引
print(晚餐数组.name)    # 获取名称
print(晚餐数组.dtype)   # 获取数据类型

晚餐数组["星期三"] = "炒饼"  # 修改值
晚餐数组 = 晚餐数组.append(pd.Series(["炒年糕"], index=["星期四"]))  # 追加数据
晚餐数组 = 晚餐数组.drop("星期三")  # 删除数据
晚餐数组.isnull()  # 检查缺失值
晚餐数组.dropna()  # 删除缺失值
晚餐数组.fillna("未知")  # 填充缺失值
晚餐数组[晚餐数组 == "炒饭"]  # 筛选符合条件的值
晚餐数组.str.contains("炒")  # 检查是否包含特定字符串

3.3 DataFrame:二维表格

import pandas as pd

游戏数据 = {
    "角色": ["亚索", "劫", "阿狸", "金克丝"],
    "位置": ["中路", "中路", "中路", "下路"],
    "胜率": [49.3, 50.1, 51.7, 52.4]
}

游戏数据框 = pd.DataFrame(游戏数据)
print(游戏数据框)
# -------------------------------------------------------------------
import numpy as np

电影数据 = np.array([
    ["复仇者联盟4: 终局之战", 8.4, 2019, "动作"],
    ["流浪地球2", 8.3, 2023, "科幻"],
    ["蜘蛛侠:纵横宇宙", 8.6, 2023, "动画"],
    ["奥本海默", 8.5, 2023, "传记"]
])

电影数据框 = pd.DataFrame(电影数据, columns=["电影名称", "评分", "上映年份", "类型"])
print(电影数据框)

常见操作

print(游戏数据框.head())  # 查看前几行数据,默认为前5行
print(游戏数据框.tail())  # 查看后几行数据,默认为后5行
print(游戏数据框.shape)  # 查看数据框的形状,即行数和列数
print(游戏数据框.columns)  # 查看列名
print(游戏数据框.index)  # 查看索引
print(游戏数据框.info())  # 查看数据框的基本信息
print(游戏数据框.describe())  # 查看数值型数据的统计信息
print(游戏数据框["角色"])  # 获取某一列的数据
print(游戏数据框.loc[0])  # 获取某一行的数据
print(游戏数据框.iloc[0])  # 获取某一行的数据,通过行号索引
print(游戏数据框.loc[0:2, "位置"])  # 获取某几行某一列的数据
print(游戏数据框[游戏数据框["胜率"] > 50])  # 筛选符合条件的行
print(游戏数据框.sort_values(by="胜率", ascending=False))  # 按照某一列的值进行排序
print(游戏数据框.drop("位置", axis=1))  # 删除某一列的数据
print(游戏数据框.drop(0))  # 删除某一行的数据

4. 数据导入与导出

Pandas 提供了多种读取和存储数据的方式,如 CSV、Excel、SQL 数据库等

4.1 读取 CSV(Comma-Separated Values)文件

csv读取文件 = pd.read_csv("数据.csv")
print(csv读取文件.head())

说明:

4.2 写入 CSV 文件

csv读取文件.to_csv("数据输出.csv", index=False)

说明:


4.3 Excel导入与导出

import pandas as pd
# 读取Excel文件
数据框 = pd.read_excel("数据.xlsx", sheet_name="表1")
# 写入Excel文件
数据框.to_excel("新数据.xlsx", sheet_name="表2")

5. 常见操作:索引与基本数据处理

5.1 索引

print(df.loc[0, "name"])  # 第一行, name 列
print(df.iloc[1, 2])      # 第二行, 第三列

5.2 基本数据处理 (Basic Data Manipulation)


6. 小贴士与注意事项 (Tips & Caveats)

  1. 内存占用:大数据量时需注意内存,可通过指定 dtype 或分批处理提高效率
    (For large datasets, be mindful of memory usage. Consider specifying dtype or processing in chunks.)
  2. 慎用链式索引:如 df[df["age"] > 30]["name"],可能导致不确定行为,推荐使用 loc 或 iloc
    (Chained indexing can cause ambiguous behavior. Prefer loc or iloc for clarity.)
  3. 缺失值处理:后续章节会介绍 NaN 值填充与删除等高级操作。
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境
相关推荐
首页
搜索
订单
购物车
我的