python学习之通过pandas处理excel和csv数据

一.pandas的核心概念

pandas 核心概念 功能描述 Java 类比
Series 一维带标签的数据(比如一列数据) Java 的List<Object> + 索引(下标)
DataFrame 二维带标签的数据(比如 Excel 表格) Java 的二维数组/List<Map<String, Object>>(行 = 数据行,列 = 字段)
索引(Index) 行 / 列的唯一标识 Java 中数组的下标 / Map 的 Key
数据清洗 处理空值、重复值、异常值 Java 中遍历集合过滤无效数据
分组统计(groupby) 按字段分组计算(比如按部门统计销售额) Java 中遍历集合 + Map 分组累加

简单说:pandas 就是「Python 版的 Excel + 数据库」,核心是对「表格型数据」做「读取→清洗→分析→输出」

二.pandas的常用操作

1.数据读取

python 复制代码
import pandas as pd

# 读取CSV文件(内网本地文件,比如销售数据)
df = pd.read_csv("D:/sales_data.csv")
# 读取Excel文件(需先装openpyxl:pip install openpyxl)
df = pd.read_excel("D:/sales_data.xlsx", sheet_name="2024销售数据")

# 查看数据(快速了解数据结构)
print(df.head())  # 看前5行(类比Excel预览)
print(df.info())  # 看数据类型、空值(核心!排查数据问题)
print(df.describe())  # 看数值列的统计信息(均值、最大值等)

2.选择数据(取行 / 列 / 条件筛选,最常用)

python 复制代码
# 1. 选单列(比如选「销售额」列)
sales_series = df["销售额"]

# 2. 选多列(比如选「日期」「部门」「销售额」)
df_sub = df[["日期", "部门", "销售额"]]

# 3. 条件筛选(比如选「销售额>1000」的行)
df_filter = df[df["销售额"] > 1000]

# 4. 按内存物理位置行号选(前10行,不包括第10行)
df_head10 = df.iloc[0:10]

# 5. 按标签行号选,默认为0,1,2开始(前11行,包括第11行)
df_head10 = df.iloc[0:10]

# 6.按内存物理位置选择第1行第2列
var=df[0,1]

3.数据清洗(处理脏数据,数据分析的核心步骤)

python 复制代码
# 1. 处理空值(两种方式:删除/填充)
df = df.dropna()  # 删除含空值的行(简单粗暴)
df["销售额"] = df["销售额"].fillna(0)  # 空值填充为0

# 2. 处理重复值
df = df.drop_duplicates()  # 删除重复行

# 3. 数据类型转换(比如把「日期」列转成日期类型)
df["日期"] = pd.to_datetime(df["日期"])

# 4. 列重命名(把「销售金额」改成「销售额」)
df = df.rename(columns={"销售金额": "销售额"})

4.分组统计(按维度分析,比如按部门统计)

python 复制代码
# 按「部门」分组,统计销售额的总和、均值
dept_stats = df.groupby("部门")["销售额"].agg(["sum", "mean"])
print(dept_stats)

# 按「月份+部门」分组(先提取月份)
df["月份"] = df["日期"].dt.month
month_dept_stats = df.groupby(["月份", "部门"])["销售额"].sum()
print(month_dept_stats)

5.数据输出(把分析结果存文件)

python 复制代码
# 把统计结果存为Excel(内网可查看)
dept_stats.to_excel("D:/部门销售统计.xlsx",index=False)
# 存为CSV
month_dept_stats.to_csv("D:/月度部门销售统计.csv",index=False)
相关推荐
言乐610 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
言乐611 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
yl453012 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
笨笨饿12 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
for_ever_love__13 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
打工仔折腾 AI13 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
I Am a robert girl13 小时前
当传感器学会“说谎“:拆解可靠性门控的稀疏惯性动捕融合
python·姿态估计·传感器融合·惯性动捕·imu传感器·可靠性门控·可穿戴计算
李航198313 小时前
AI定制柜建模,需要详细的建模规范和标准流程
人工智能·python·计算机视觉·ai·ai编程
沙漠之主14 小时前
Python 教学设计资料:从入门到实战的完整课程方案
爬虫·python
ebiobiz15 小时前
极海 APM32 使用 Nimmake 编译指南
c++·python·单片机·嵌入式硬件·mcu