当前位置: 首页 > article >正文

15个Pandas代码片段助力数据分析

大家好,Python的Pandas库是数据分析的基本工具,提供了强大的数据操作和分析功能。本文将探讨15个高级Pandas代码片段,这些代码片段将帮助简化数据分析任务,并从数据集中提取有价值的见解。

1. 过滤数据

import pandas as pd

# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 35, 40]}

df = pd.DataFrame(data)

# 过滤年龄大于30的记录
filtered_df = df[df['Age'] > 30]
print(filtered_df)

2. 分组和聚合数据

# 按列分组并计算平均值
grouped = df.groupby('Age').mean()
print(grouped)

3. 处理缺失数据

# 检查缺失值
missing_values = df.isnull().sum()


# 使用特定值填充缺失值
df['Age'].fillna(0, inplace=True)

4. 对列应用函数

# 对列应用自定义函数
df['Age'] = df['Age'].apply(lambda x: x * 2)

5. 连接DataFrame

# 连接两个DataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})


result = pd.concat([df1, df2], ignore_index=True)
print(result)

6. 合并DataFrame

# 合并两个DataFrame
left = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})

merged = pd.merge(left, right, on='key', how='inner')
print(merged)

7. 透视表

# 创建数据透视表
pivot_table = df.pivot_table(index='Name', columns='Age', values='Value')
print(pivot_table)

8. 处理日期时间数据

# 将列转换为DateTime类型
df['Date'] = pd.to_datetime(df['Date'])

9. 重塑数据

# 将DataFrame进行融合
melted_df = pd.melt(df, id_vars=['Name'], value_vars=['A', 'B'])
print(melted_df)

10. 处理分类数据

# 对分类变量进行编码
df['Category'] = df['Category'].astype('category')
df['Category'] = df['Category'].cat.codes

11. 数据采样

# 从DataFrame中随机抽取行
sampled_df = df.sample(n=2)

12. 计算累积和

# 计算累积和
df['Cumulative_Sum'] = df['Values'].cumsum()

13. 去除重复值

# 去除重复行
df.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)

14. 创建虚拟变量

# 为分类数据创建虚拟变量
dummy_df = pd.get_dummies(df, columns=['Category'])

15. 导出数据

# 将DataFrame导出为CSV文件
df.to_csv('output.csv', index=False)

掌握这15个Pandas代码片段,将极大增强数据操作和分析能力,将其纳入工作流程中,可以更加高效地处理和探索数据集。


http://www.kler.cn/news/155404.html

相关文章:

  • MySQL索引:优化数据访问的双面剑
  • LeetCode:2336. 无限集中的最小数字(hash模拟 C++)
  • ZooKeeper的分布式锁---客户端命令行测试(实操课程)
  • 9-4 函数输入信息,函数输出信息
  • pytest系列——allure之在测试用例添加标题(@allure.title())
  • KALI LINUX高级话题
  • LeetCode二分查找:x 的平方根
  • 什么是npm?能干什么?
  • 不得不说,HelpLook真的是一个很懂用户的文档管理工具
  • Uniapp
  • 调优--学习笔记
  • SCA技术进阶系列(四):DSDX SBOM供应链安全应用实践
  • 组合总和II(回溯、去重)
  • ROS报错:RLException:Invalid roslaunch XML Syntax: mismatched tag:
  • MFC 绘制单一颜色圆形、渐变颜色边框圆形、渐变填充圆形以及绘制三角函数正弦函数曲线.
  • 【web安全】CSRF漏洞攻击与防御
  • 从零开始:PHP实现阿里云直播的简单方法!
  • Java通过Redis进行延时队列,定时发布消息(根据用户选择时间进行发布)
  • python爬虫抓取网页图片教程
  • Spring事务管理介绍
  • yolo.txt格式与voc格式互转,超详细易上手
  • Centos图形化界面封装OpenStack Ubuntu镜像
  • Electron+Ts+Vue+Vite桌面应用系列:TypeScript常用时间处理工具
  • Python ctypes:揭秘高级Python与底层交互秘籍
  • JavaScript编程基础 – For循环
  • ChatGPT等大语言模型为什么没有智能
  • JavaWeb | 表单开发
  • 智能优化算法应用:基于原子搜索算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 二叉树在线OJ
  • python-迭代器与生成器