Pandas从基础到进阶的简单入门教程

后端 潘老师 4周前 (03-27) 62 ℃ (0) 扫码查看

Pandas是一款Python数据处理工具,今天,咱们就深入了解一下这个“数据处理神器”,帮大家从入门逐步走向精通。

一、Pandas介绍

Pandas是专门用于数据分析和处理的Python库,功能丰富,能解决各类数据问题。可以用清洗杂乱的数据、对数据进行转换加工,也可以深入分析数据并实现可视化展示。

Pandas主要依赖于NumPy库。NumPy提供了高效的数组运算能力,这使得Pandas在处理大量数据时能够快速运行,如同给Pandas注入了“加速引擎” 。在使用Pandas前,我们需要先导入它,行业内习惯将Pandas缩写为pd,同时常常会顺手导入numpy并缩写为np,代码如下:

import pandas as pd
import numpy as np

二、Pandas的数据结构

Pandas有两种核心的数据结构,即SeriesDataFrame

  • Series:可以把它理解为带标签的一维数组。打个比方,它就像班级学生成绩表中的一列成绩,每个成绩都对应着一个特定的索引。
  • DataFrame:类似于一张电子表格,由多个Series组成,每一个Series代表表格中的一列数据。想象一下Excel表格,有行有列,DataFrame就与之类似,用它来处理结构化数据非常便捷。

三、数据的读取与存储

Pandas支持读取多种常见的数据格式,如CSV、Excel、JSON、SQL、HTML等。下面是读取不同格式数据的代码示例:

# 读取CSV文件
df = pd.read_csv('data.csv')
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 读取JSON文件
df = pd.read_json('data.json')
# 从SQL数据库读取数据
df = pd.read_sql('SELECT * FROM table', connection)
# 读取HTML文件
df = pd.read_html('data.html')

读取CSV文件时,如果遇到编码问题,可以通过指定encoding参数解决,比如encoding='gbk'encoding='utf-8' 。数据处理完后,若要存储,也很简单:

# 保存为CSV文件,不保存索引列
df.to_csv('output.csv', index=False) 
# 保存为Excel文件,不保存索引列
df.to_excel('output.xlsx', index=False) 

四、数据的统计与分析

Pandas提供了众多实用的统计函数,能帮助我们快速了解数据的特征。下面通过示例代码来看看这些函数的用法:

import pandas as pd
import numpy as np

# 创建示例DataFrame
data = {'A': [1, 2, 3, 4, 5],
        'B': [10, 20, 30, 40, 50],
        'C': [100, 200, 300, 400, 500]}
df = pd.DataFrame(data)

# 查看DataFrame基本信息
print(df.info()) 
# 查看行数和列数
print(df.shape) 
# 查看索引
print(df.index) 
# 查看列名
print(df.columns) 
# 计算每列总和
print(df.sum()) 
# 计算每列最小值
print(df.min()) 
# 计算每列最大值
print(df.max()) 
# 计算每列统计摘要
print(df.describe()) 

其中,df.describe()函数十分强大,通过它能快速掌握数据的整体分布情况。

五、数据筛选、排序与转换

在实际应用中,经常需要对数据进行筛选、排序和转换操作。

  • 数据筛选:Pandas提供了多种筛选数据的方法。例如,通过索引或列名选择特定的数据,还能根据条件筛选出符合要求的行。代码示例如下:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'age': [25, 30, 28, 35, 22],
        'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou']}
df = pd.DataFrame(data)

# 选择Series中指定索引的元素
print(df['name'][0]) 
# 选择DataFrame中指定行范围的数据
print(df.loc[1:3]) 
  • 数据排序:可以按指定列的值或索引进行排序。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 28]}
df = pd.DataFrame(data)

# 按age列的值进行排序
print(df.sort_values('age')) 
# 按age列的值进行降序排序
print(df.sort_values('age', ascending=False)) 
# 按索引进行排序
df = df.set_index('name') 
print(df.sort_index()) 
  • 数据转换:包括数据类型转换、重塑数据格式等。比如将字符串类型的年龄数据转换为整数类型:
import pandas as pd
data = {'age': ['25', '30', '28']}
df = pd.DataFrame(data)

# 查看每列的数据类型
print(df.dtypes) 
# 转换age列的数据类型为整数
df['age'] = df['age'].astype(int)
print(df.dtypes) 

Pandas的功能远不止这些,想要熟练掌握它,还得自己多动手实践。大家可以多敲代码、多做练习,争取成为Pandas数据处理高手!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/16378.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】