首页 > 编程语言 >《Python基础》之Pandas库

《Python基础》之Pandas库

时间:2024-12-03 22:31:00浏览次数:11  
标签:Python age 基础 df pd print 数据 Pandas

目录

一、简介

二、Pandas的核心数据结构

1、Series

2、DataFrame

三、数据读取与写入

1、数据读取

 2、数据写入

四、数据清洗与处理

1、处理缺失值

2、处理重复值

3、数据转换

五、数据分析与可视化

1、统计描述

2、分组聚合

3、数据可视化

六、高级技巧

1、时间序列分析

2、数据透视表

七、总结


在数据科学的世界里,Python 的 Pandas 库无疑是一把瑞士军刀。无论你是数据分析师、数据科学家,还是机器学习工程师,Pandas 都是你不可或缺的工具。本文将带你深入了解 Pandas 库的核心功能、常用操作以及一些高级技巧,帮助你更好地利用这个强大的工具。

一、简介

Pandas 是一个开源的数据处理和分析库,由 Wes McKinney 在 2008 年创建。它建立在 NumPy 库之上,提供了高效、灵活的数据结构,使得数据操作和分析变得更加简单和直观。Pandas 主要的数据结构是 Series 和 DataFrame,分别用于处理一维和二维的数据。

二、Pandas的核心数据结构

1、Series

Series 是 Pandas 中的一维数组,类似于带标签的数组。每个元素都有一个标签(索引),可以通过标签访问数据。

import pandas as pd

# 创建一个 Series
s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s)

2、DataFrame

DataFrame 是 Pandas 中的二维表格数据结构,类似于电子表格或 SQL 表。它由行和列组成,每列可以是不同的数据类型。

# 创建一个 DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35],
    'city': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

 

三、数据读取与写入

Pandas 支持从多种数据源读取数据,包括 CSV、Excel、SQL 数据库、JSON 等。同样,它也支持将数据写入这些格式。

1、数据读取

# 从 CSV 文件读取数据
df = pd.read_csv('data.csv')

# 从 Excel 文件读取数据
df = pd.read_excel('data.xlsx')

# 从 SQL 数据库读取数据
import sqlite3
conn = sqlite3.connect('database.db')
df = pd.read_sql('SELECT * FROM table_name', conn)

 2、数据写入

# 将数据写入 CSV 文件
df.to_csv('output.csv', index=False)

# 将数据写入 Excel 文件
df.to_excel('output.xlsx', index=False)

# 将数据写入 SQL 数据库
df.to_sql('table_name', conn, if_exists='replace', index=False)

四、数据清洗与处理

数据清洗是数据分析过程中非常重要的一步。Pandas 提供了丰富的功能来处理缺失值、重复值、异常值等。

1、处理缺失值

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

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

# 填充缺失值
df_filled = df.fillna(method='ffill')  # 前向填充
df_filled = df.fillna(method='bfill')  # 后向填充
df_filled = df.fillna(df.mean())      # 用均值填充

2、处理重复值

# 检查重复值
print(df.duplicated().sum())

# 删除重复值
df_cleaned = df.drop_duplicates()

3、数据转换

# 数据类型转换
df['age'] = df['age'].astype(float)

# 数据标准化
df['age'] = (df['age'] - df['age'].mean()) / df['age'].std()

五、数据分析与可视化

Pandas 提供了丰富的数据分析功能,包括统计描述、分组聚合、透视表等。结合 Matplotlib 和 Seaborn 等可视化库,可以轻松创建各种图表。

1、统计描述

# 统计描述
print(df.describe())

# 计算相关系数
print(df.corr())

2、分组聚合

# 按城市分组并计算平均年龄
grouped = df.groupby('city')['age'].mean()
print(grouped)

3、数据可视化

import matplotlib.pyplot as plt
import seaborn as sns

# 绘制柱状图
df['age'].plot(kind='bar')
plt.show()

# 绘制散点图
sns.scatterplot(x='age', y='city', data=df)
plt.show()

六、高级技巧

1、时间序列分析

Pandas 提供了强大的时间序列处理功能,支持日期解析、时间差计算、重采样等。

# 创建时间序列数据
dates = pd.date_range('20230101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))

# 重采样
df_monthly = df.resample('M').mean()
print(df_monthly)

2、数据透视表

数据透视表是数据分析中非常有用的工具,Pandas 提供了 pivot_table 函数来创建透视表。

# 创建数据透视表
pivot_table = pd.pivot_table(df, values='age', index='city', columns='name', aggfunc='mean')
print(pivot_table)

七、总结

Pandas 是数据科学领域中不可或缺的工具,它提供了丰富的功能来处理、分析和可视化数据。无论你是初学者还是经验丰富的数据科学家,掌握 Pandas 都将极大地提升你的工作效率。希望本文能帮助你更好地理解和使用 Pandas,开启你的数据科学之旅。

标签:Python,age,基础,df,pd,print,数据,Pandas
From: https://blog.csdn.net/qq_61600833/article/details/144225502

相关文章

  • Python基于滑动窗口CNN损伤梁桥数据、故宫城墙图像数据分类可视化|附数据代码
    全文链接:https://tecdat.cn/?p=38442原文出处:拓端数据部落公众号分析师:YufeiGuo在现代土木结构工程领域,结构损伤的准确识别与定位对于保障基础设施的安全性和耐久性具有极为关键的意义。传统的人工检查方法,如目视检查以及借助专业设备进行检测,在很长一段时间内占据着主导地位,......
  • Simulink Coverage基础概念和应用
    SimulinkCoverage是MATLABSimulink中的一个功能,它用于测量和报告代码覆盖率,帮助用户验证模型的测试是否全面。本文将介绍SimulinkCoverage的基本概念、覆盖率指标的评估和收集模型覆盖率的方法,探讨如何对覆盖率进行分析和记录,生成覆盖度结果和报告的相关内容。首先介绍S......
  • 傻瓜式jvm基础学习
    Q:jvm调优是在做什么?A:通过修改jvm参数和更换合适的垃圾回收器从而达到提高垃圾回收效率、降低停顿时间,提高系统的吞吐量和响应速度。  从上面的问答中可以得到两个概念,jvm参数、垃圾回收器。   程序计数器  存储当前线程正在执行的Java方法的字节码指令地址的内存......
  • 学期2024-2025-1 学号20241424 《计算机基础与程序设计》第11周学习总结
    学期2024-2025-1学号20241424《计算机基础与程序设计》第11周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计)这个作业要求在哪里2024-2025-1计算机基础与程序设计第十一周作业这个作业的目标<1.学习计算机科学概论第15,16章并完成云班......
  • Python实现12306 抢票小助手(速通)
            在如今这个快节奏的时代,出行需求日益增长,尤其是在节假日或者特殊时期,购买火车票往往成为一件颇具挑战性的事情。为了帮助大家更顺利地抢到心仪的车票,今天我将为大家详细解析一段12306抢票助手的代码,并教大家如何使用它。结果展示(文末附完整代码):目录结果......
  • BGP基础
    EGP:早期的外部网关协议,用于在自治系统间动态交换路由信息,但设计简单,无法避免环路问题BGP:取代EGP的另外一种外部网关协议,能够进行路由优选,避免路由环路,提供更高效的路由传递,不产生路由,只传递路由,提供丰富的路由策略概述AS:自治系统,同一个组织管理管理下,使用统一选路由策略的设......
  • 常见排序整合(python版)
    1.冒泡排序#bubblesort#时间复杂度为o(n^2)#升序和降序只需要改动其中的一个箭头方向即可defbubble_sort(li):count=1foriinrange(len(li)-2):exchange=Falseforjinrange(len(li)-i-1):ifli[j]>li[j+1]:......
  • 【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
    问题描述在Azure门户(Createnewuser-MicrosoftAzure由世纪互联运营)中添加新用户,如果想通过代码来实现,有没有示例代码参考呢?问题解答示例代码fromazure.identityimportAzureAuthorityHostsfromazure.identity.aioimportClientSecretCredentialfromkiota_auth......
  • 黑客基础之html(超文本标记语言)
    声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页泷羽sec的......
  • 免杀之汇编基础
    进制二进制八进制十六进制六十进制转换二进制和十六进制的转换数据宽度位、字节、字是计算机数据存储的单位。位是最小的存储单位,每一个位存储一个1位的二进制码,一个字节由8位组成。而字通常为16、32或64个位组成位(Bit):定义:位是计算机中最小的存储单位,表示二进......