Python - 数据分析三剑客之Pandas-数据分析实战(python数据分析和可视化)

Python - 数据分析三剑客之Pandas-数据分析实战(python数据分析和可视化)

Pandas 是 Python 数据分析领域的核心工具库,与 NumPy、Matplotlib 并称为「数据分析三剑客」。它提供了高效的数据结构和数据分析工具,尤其适合处理结构化数据(如表格数据)。以下是 Pandas 的核心知识框架和实战指南:

一、Pandas 核心数据结构

1. Series

  • 一维标记数组,可存储任意数据类型(整数、字符串、浮点数等)
  • 示例:
  • python
  • import pandas as pds = pd.Series([1, 3, 5, 'a'], index=['A', 'B', 'C', 'D'])

2. DataFrame

  • 二维表格型数据结构(类似 Excel 表格)
  • 核心特性:
  • 每列可以是不同数据类型
  • 支持行/列标签操作
  • 示例:
  • python
  • data = { 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'London', 'Tokyo']}df = pd.DataFrame(data)

二、数据读取与写入

1. 读取数据

python

# 读取 CSVdf = pd.read_csv('data.csv', encoding='utf-8') # 读取 Exceldf = pd.read_excel('data.xlsx', sheet_name='Sheet1') # 读取数据库import sqlite3conn = sqlite3.connect('database.db')df = pd.read_sql('SELECT * FROM table', conn)

2. 写入数据

python

df.to_csv('output.csv', index=False) # 不保存索引df.to_excel('output.xlsx', sheet_name='Results')

三、数据清洗与预处理

1. 处理缺失值

python

# 检测缺失值df.isnull().sum() # 删除缺失值df.dropna(axis=0) # 删除含缺失值的行 # 填充缺失值df.fillna(value=0) # 用0填充df['Age'].fillna(df['Age'].mean(), inplace=True) # 用均值填充

2. 数据去重

python

df.drop_duplicates(subset=['Name'], keep='first')

3. 数据类型转换

python

df['Date'] = pd.to_datetime(df['Date']) # 转为时间格式df['Price'] = df['Price'].astype(float) # 转为浮点型

四、核心操作技巧

1. 数据筛选

python

# 条件筛选df[df['Age'] > 30] # 多条件筛选df[(df['Age'] > 25) & (df['City'] == 'London')] # 字符串匹配df[df['Name'].str.contains('^A')] # 名字以A开头

2. 数据分组与聚合

python

# 按城市分组计算平均年龄df.groupby('City')['Age'].mean() # 多重聚合df.groupby('City').agg({ 'Age': ['mean', 'max'], 'Salary': 'sum'})

3. 数据合并

python

# 横向合并(类似 SQL JOIN)pd.merge(df1, df2, on='ID', how='left') # 纵向合并pd.concat([df1, df2], axis=0)

五、高级功能

1. 时间序列处理

python

# 生成时间序列dates = pd.date_range('20230101', periods=6) # 重采样df.resample('M').sum() # 按月统计 # 时间差计算df['Time_Diff'] = df['End_Time'] - df['Start_Time']

2. 数据可视化(需配合 Matplotlib)

python

import matplotlib.pyplot <img src=url"dyikw.cn, ofodk.cn, uiousl.cn, res.mp.sohu.com">as pltdf.plot(x='Date', y='Sales', kind='line')plt.show()

3. 性能优化

python

# 设置合适的索引df.set_index('ID', inplace=True) # 使用向量化操作df['Total'] = df['Price'] * df['Quantity'] # 代替逐行计算

六、实战案例:销售数据分析

python

# 读取数据sales = pd.read_csv('sales_data.csv') # 数据清洗sales.dropna(subset=['Product'], inplace=True)sales['Date'] = pd.to_datetime(sales['Date']) # 分析季度销售趋势sales.set_index('Date', inplace=True)quarterly_sales = sales.resample('Q').sum()['Revenue'] <img src=url"ieiio.cn, iiioj.cn, oifeji.cn, res.mp.sohu.com"># 可视化展示quarterly_sales.plot(kind='bar', title='Quarterly Sales')plt.ylabel('Revenue (USD)')plt.show()

七、学习建议

  1. 官方文档:https://pandas.pydata.org/docs/
  2. 练习数据集:使用 Kaggle 提供的公开数据集
  3. 进阶方向:
  • 学习 groupby + apply 组合操作
  • 掌握 pivot_table 数据透视表
  • 了解 pd.cut 分箱操作
  • 结合 Seaborn 进行高级可视化

掌握 Pandas 后,建议继续学习:

  • Matplotlib/Seaborn:数据可视化
  • SQL:数据库查询
  • 统计学基础:为数据分析提供理论支撑

Pandas 的强大之处在于其灵活性和生态整合能力,建议通过实际项目(如电商销售分析、金融数据建模)巩固知识。

猜你喜欢

送票 | 姜文“让钢琴飞”,请你看《你行!你上!》

饰演郎爸的姜文,也贡献了演艺生涯最反差的表演,恨不得把对孩子的爱写在脸上,甚至在戏里吃上了“软饭”。影片原型人物郎朗观影后表示自己和父母只是故事的饺子皮,而饺子馅儿是姜文导演包进去的,虽然取材自身经历,但郎朗…

送票 | 姜文“让钢琴飞”,请你看《你行!你上!》

iPhone 12 怎么关机、如何强制关机?为何电源键一直叫出 Siri?(iphone12怎么关机按哪个键)

首次使用 iPhone 12 的你,应该很纳闷「怎么不能关机」、「按住侧边电源键怎么是 Siri」这种问题;其实别担心,刚开始使用全萤幕iPhone 的用户都碰过这个问题,这边就来告诉大家如何为 iPhon…

iPhone 12 怎么关机、如何强制关机?为何电源键一直叫出 Siri?(iphone12怎么关机按哪个键)

联通流量卡办理全攻略:2025年最新入口+避坑指南,一文读懂!(联通流量卡办理多少钱)

避坑提醒:警惕第三方平台“免费送卡”“零月租”等广告,优先选择官网或APP内标注“官方直营”的套餐。流量性质:区分“通用流量”和“定向流量”,例如某套餐宣传“200GB流量”,实则150GB为定向(仅限指定…

联通流量卡办理全攻略:2025年最新入口+避坑指南,一文读懂!(联通流量卡办理多少钱)

《全知读者视角》海报“变脸”?网友:金智秀成“引流工具人”(全知读者视角漫画免费阅读)

这部影片中的BLACKPINK成员金智秀Jisoo,她的出现竟能随海报的发行地区而“自动调节”:在神秘的故乡韩国,她显得如同一片尘埃,而在国际版的海报中,她却理直气壮地占据了C位,宛如星辰般闪耀。制片方显然洞…

《全知读者视角》海报“变脸”?网友:金智秀成“引流工具人”(全知读者视角漫画免费阅读)

润滑油中的沉积物控制剂(1)-抗氧化剂的种类以及工作原理(润滑油高温沉积物)

润滑油中的硫化合物主要通过分解过氧化物来阻断氧化链反应,属于辅助抗氧剂(II类)。 总之硫化合物对于现在行业发展情况下,还存在一定的不可替代性,经过多年的发展,人们通过对单独含硫化合物进行改进,得到了更多的…

润滑油中的沉积物控制剂(1)-抗氧化剂的种类以及工作原理(润滑油高温沉积物)