HoRain云--Pandas数据分析核心操作全解析

🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录

Pandas 是 Python 数据科学的基石,其核心 DataFrame和 Series是你必须掌握的工具。下面这个表格汇总了它们的关键操作。
|
特性/操作 |
DataFrame (二维表格) |
Series (一维数组/列) |
|---|---|---|
|
创建对象 |
|
|
|
查看数据 |
|
|
|
选择数据 |
|
|
|
过滤数据 |
布尔索引: |
布尔索引: |
|
处理缺失值 |
|
|
|
数据转换 |
|
|
|
排序 |
|
|
|
常用计算 |
|
|
|
分组聚合 |
|
- |
|
合并数据 |
|
|
🔍 核心操作详解
1. 创建与查看
-
创建DataFrame:最常用的方法是从字典或列表的列表创建。
pd.DataFrame({'姓名': ['Alice', 'Bob'], '年龄': [25, 30]})。 -
创建Series:可以从列表或字典创建。
pd.Series([10, 20, 30], index=['a', 'b', 'c'])。 -
快速查看:使用
.head(n)和.tail(n)查看数据首尾。.info()查看数据集概况(行数、列数、数据类型等),.describe()则提供数值型列的快速统计摘要(计数、均值、标准差等)。
2. 数据选择与过滤
这是数据操作的核心,主要使用方括号 []和 .loc、.iloc索引器。
-
选择列:
df['列名']获取单列(返回Series),df[['列名1', '列名2']]获取多列(返回DataFrame)。 -
选择行:
-
按标签选择:
.loc[]基于行和列的标签。例如,df.loc[0, '姓名']选择第一行、'姓名'列的值 。 -
按位置选择:
.iloc[]基于行和列的整数位置(从0开始)。例如,df.iloc[0, 1]选择第1行、第2列的值 。
-
-
布尔索引(条件过滤):这是过滤数据的强大方式。例如,
df[df['年龄'] > 25]会返回所有“年龄”大于25岁的行 。多个条件可以用&(与)、|(或)连接,注意每个条件要用括号括起来。
3. 数据清洗与预处理
干净的数据是准确分析的前提。
-
处理缺失值:
.isnull()检测缺失值。.dropna()删除包含缺失值的行或列。.fillna(值)用指定值(如均值、中位数或0)填充缺失值 。 -
类型转换:
.astype(新类型)改变一列的数据类型,例如将字符串转为整数:df['列名'] = df['列名'].astype(int)。 -
删除列:
df.drop('列名', axis=1, inplace=True)。inplace=True表示直接在原数据上修改,否则会返回一个新DataFrame 。 -
重命名列:
df.rename(columns={'旧名': '新名'}, inplace=True)。
4. 数据处理与转换
-
应用函数:
.apply()方法非常强大,可以将自定义函数或Lambda函数应用到DataFrame的列或行上。例如,df['身高米'] = df['身高厘米'].apply(lambda x: x / 100)。 -
排序:
df.sort_values(by='列名', ascending=False)按指定列的值降序排序 。 -
去重:
df['列名'].drop_duplicates()获取某列的唯一值 。
5. 数据聚合与分组
这是理解数据分布的关键。
-
分组聚合:
df.groupby('分组列')['计算列'].agg(聚合函数)。例如,df.groupby('部门')['工资'].mean()计算每个部门的平均工资 。常用聚合函数包括sum,mean,count,max,min等。 -
数据透视表:
pd.pivot_table(df, values='值列', index='行索引列', columns='列索引列', aggfunc='mean'),功能类似Excel数据透视表,能进行多维度的交叉分析 。
6. 合并与连接数据
-
纵向合并:
pd.concat([df1, df2])将结构相同的多个DataFrame沿纵向(行方向)拼接 。 -
横向连接:
df1.merge(df2, on='关键列', how='inner')类似于SQL的JOIN操作,根据一个或多个键将不同DataFrame连接起来。how参数可以是inner(内连接)、left(左连接)等 。
💡 实用技巧与场景示例
-
Series的索引对齐:Series运算时会自动按索引对齐,而不是位置。这是Pandas一个非常强大且需要留心的特性 。
-
链式方法:可以将多个操作链接在一起,使代码更简洁,例如
df.fillna(0).query('age > 30').groupby('city')['income'].mean()。 -
处理大数据集:对于非常大的数据集,可以考虑使用
dtype参数指定数据类型以节省内存,或使用Pandas的chunksize分块读取功能。
💎 总结
掌握这些核心操作,你就能应对大部分数据分析任务。建议在实际项目中多练习,遇到问题随时查阅Pandas官方文档,它的解释和示例是最权威的。
希望这份总结对你有帮助!如果你在某个具体操作上遇到困难,或者想了解更高级的用法,我们可以继续深入探讨。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐




所有评论(0)