Python DataFrame常用操作汇总(python dataframe用法)

以下是 Python 中 pandas 库的 DataFrame 常用操作汇总,涵盖数据查看、筛选、处理和分析等场景:


1. 创建 DataFrame

python

import pandas as pd


# 从字典创建

data = {"Name": ["Alice", "Bob", "Charlie"], "Age": [25, 30, 35], "City": ["NY", "SF", "LA"]}

df = pd.DataFrame(data)


# 从列表创建(需指定列名)

data = [["Alice", 25], ["Bob", 30], ["Charlie", 35]]

df = pd.DataFrame(data, columns=["Name", "Age"])


# 从 CSV 文件读取

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


2. 数据查看

python

# 查看前 n 行(默认 5 行)

df.head()


# 查看后 n 行

df.tail()


# 查看基本信息(列名、非空值、数据类型)

df.info()


# 查看统计摘要(数值型列)

df.describe()


# 查看列名

df.columns


# 查看形状(行数和列数)

df.shape


3. 数据选择

python

# 选择单列(返回 Series)

df["Name"]


# 选择多列

df[["Name", "Age"]]


# 选择行(按位置)

df.iloc[0] # 第一行

df.iloc[0:3] # 前 3 行


# 选择行(按标签)

df.loc[0] # 标签为 0 的行


# 条件筛选

df[df["Age"] > 25] # Age 大于 25 的行

df[(df["Age"] > 25) & (df["City"] == "NY")] # 多条件筛选


4. 数据处理

python

# 添加新列

df["Salary"] = [50000, 60000, 70000]


# 删除列

df.drop("City", axis=1, inplace=True) # axis=1 表示列,inplace=True 直接修改原 DataFrame


# 重命名列

df.rename(columns={"Age": "UserAge"}, inplace=True)


# 处理缺失值

df.dropna() # 删除包含缺失值的行

df.fillna(0) # 用 0 填充缺失值

df.fillna(df.mean()) # 用列均值填充


# 类型转换

df["Age"] = df["Age"].astype(float) # 转换为浮点数

df["Date"] = pd.to_datetime(df["Date"]) # 转换为日期类型


# 删除重复值

df.drop_duplicates()


5. 数据排序

python

# 按某列升序排序

df.sort_values("Age", ascending=True)


# 按多列排序

df.sort_values(["Age", "Salary"], ascending=[True, False])


6. 数据分组与聚合

python

# 分组统计(按 City 分组,计算平均 Age)

df.groupby("City")["Age"].mean()


# 多聚合操作

df.groupby("City").agg({"Age": ["mean", "max"], "Salary": "sum"})


# 交叉表(频数统计)

pd.crosstab(df["City"], df["Gender"])


7. 合并 DataFrame

python

# 纵向合并(堆叠)

pd.concat([df1, df2], axis=0)


# 横向合并(拼接列)

pd.concat([df1, df2], axis=1)


# SQL 风格的合并(按 key 列连接)

pd.merge(df1, df2, on="key", how="inner") # how 可选 inner/left/right/outer


8. 数据清洗

python

# 替换值

df["City"].replace({"NY": "New York", "SF": "San Francisco"}, inplace=True)


# 处理异常值(例如:删除 Age > 100 的行)

df = df[df["Age"] <= 100]


# 字符串操作(转为小写)

df["Name"] = df["Name"].str.lower()


9. 应用函数

python

# 对某列应用函数

df["Age"].apply(lambda x: x * 2)


# 对多列应用函数

def calculate_bonus(row):

return row["Salary"] * 0.1

df["Bonus"] = df.apply(calculate_bonus, axis=1)


10. 保存数据

python

# 保存为 CSV

df.to_csv("output.csv", index=False)


# 保存为 Excel

df.to_excel("output.xlsx", sheet_name="Sheet1")


补充:常用快捷操作

python

# 重置索引

df.reset_index(drop=True, inplace=True)


# 设置索引列

df.set_index("Name", inplace=True)


# 计算相关系数矩阵

df.corr()


# 遍历行(尽量避免,优先使用向量化操作)

for index, row in df.iterrows():

print(row["Name"], row["Age"])


掌握这些操作后,可以覆盖大部分 DataFrame 数据处理需求。如需深入学习,可参考 pandas 官方文档:pandas.pydata.org

相关文章

Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!

Python 3.14 重磅更新!UUIDv6/v7/v8 强势来袭,别再用 uuid4 () 啦! 为什么说 UUID 升级是 2025 年 Python 开发者的必学技能?在当今互联网应用中,UU...

Python 中实现选择排序(python中的选择排序算法)

选择排序算法在每次迭代中从未排序的列表中找到最小的元素,并将该元素放在未排序列表的开头。也可以查找最大值,实现降序排序。选择排序的执行过程对于列表使用选择排序算法进行升序排序:循环迭代列表,将第一个元...

Python学不会来打我(94)python序列的知识点总结

在Python中,序列(Sequence)是一种基础数据结构,具有以下核心特征和类型划分:#python##python自学##python教程#1. 序列的定义与特性定义:序列是一块可存放多个...

实现希尔排序——Python(希尔排序实现代码)

关于希尔排序希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序...

你应该知道的关于 Python 排序的 4 个技巧

介绍在本文中,你将了解一些你以前可能不知道的关于排序的技巧。目录Sorted() VS Sort() 用于列表、元组和字典根据你的标准排序对复杂对象的集合进行排序用内置函数attrgetter进行排序...

Python教程-列表排序(python中如何给列表排序)

作为软件开发者,我们总是努力编写干净、简洁、高效的代码。Python 是一种强大的编程语言,它有许多内置的函数和库。其中一个库是 "列表 "模块,它提供了强大的工具来管理 Python...