Pandas 教程学习笔记
一、Pandas简介
Pandas是Python编程语言的一个数据处理库,提供了快速,灵活和富有表现力的数据结构,旨在使数据清洗和分析变得简单直观。
它为Python程序员提供了高级数据结构和各种数据操作工具。Pandas的核心是两个类:Series和DataFrame。这两个类可以让用户用一种简单直观的方式处理数据。
二、Pandas的数据结构
1、Series
Series是一种类似于数组的数据结构,它由一组数据(各种NumPy数据类型)以及与之相关的一组标签(即索引)组成。Pandas的Series对象可以储存任何类型的数据,并且它们可以使用Pandas的各种方法进行操作。
下面是一个Series的创建示例:
pythonCopy Codeimport pandas as pd
data = pd.Series([0.25, 0.5, 0.75, 1.0])
print(data)
输出结果如下:
Copy Code0 0.25
1 0.50
2 0.75
3 1.00
dtype: float64
2、DataFrame
DataFrame是Pandas中的主要数据结构,它是一个带有标签轴(行和列)的二维数据结构,其中每一列可以是不同的类型(整数,浮点数,字符串等)。
下面是一个DataFrame的创建示例:
pythonCopy Codeimport pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'country': ['USA', 'China', 'Canada', 'Brazil']}
df = pd.DataFrame(data)
print(df)
输出结果如下:
Copy Code name age country
0 Alice 25 USA
1 Bob 32 China
2 Charlie 18 Canada
3 David 47 Brazil
三、Pandas的常用操作
1、数据的读取与写入
Pandas可以读写多种格式的文件,包括CSV、Excel、JSON等。其中,read_csv()和to_csv()方法用于CSV文件处理,read_excel()和to_excel()方法用于Excel文件处理,read_json()和to_json()方法用于JSON文件处理。
pythonCopy Code# CSV文件读取与写入
import pandas as pd
# 读取CSV文件
data = pd.read_csv('data.csv')
# 将数据写入CSV文件
data.to_csv('new_data.csv', index=False)
# Excel文件读取与写入
# 读取Excel文件
data = pd.read_excel('data.xlsx')
# 将数据写入Excel文件
data.to_excel('new_data.xlsx', index=False)
# JSON文件读取与写入
# 读取JSON文件
data = pd.read_json('data.json')
# 将数据写入JSON文件
data.to_json('new_data.json', orient='records')
2、数据的选取和过滤
数据的选取和过滤是Pandas中常用的数据操作之一。可以使用loc和iloc方法对DataFrame进行选取和过滤。
pythonCopy Codeimport pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'country': ['USA', 'China', 'Canada', 'Brazil']}
df = pd.DataFrame(data)
# 选取name列的数据
print(df['name'])
# 选取前两行数据
print(df.loc[:1])
# 筛选age大于30的行
print(df[df['age'] > 30])
3、数据的处理与运算
Pandas提供了多种数据处理和运算的方法,包括去重、排序、合并、分组等。
pythonCopy Codeimport pandas as pd
# 数据的去重与排序
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Alice'],
'age': [25, 32, 18, 47, 25],
'country': ['USA', 'China', 'Canada', 'Brazil', 'USA']}
df = pd.DataFrame(data)
print(df.drop_duplicates()) # 去除重复行
print(df.sort_values(by='age', ascending=False)) # 按照age列排序
# 数据的合并与分组
data1 = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 32, 18]}
data2 = {'name': ['David', 'Emma', 'Frank'],
'age': [47, 23, 31]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
print(pd.concat([df1, df2])) # 数据合并
print(df.groupby('country').mean()) # 按照country列分组并求平均值
四、总结
本文介绍了Pandas的数据结构、常用操作以及实例,Pandas是处理和分析数据的重要工具,在数据清洗和分析方面有着广泛的应用。