Pandas 概述
Pandas 是一个开源的数据分析和数据处理库,是基于 NumPy 开发的。它提供了灵活且高效的数据结构,使得处理和分析结构化、缺失和时间序列数据变得更加容易。其在数据分析和数据处理领域广泛应用,在金融、社交媒体、科学研究等领域都有很高的使用率和广泛的应用场景。它不仅具有易用性和灵活性,还具备高效的计算能力,是数据科学家和数据分析师们必不可少的工具之一。
简而言之,Pandas 是数据分析和处理的重要工具,无论是数据的读取、清洗、选择,还是统计分析和可视化,pandas 都能够满足你的需求,并且使数据处理过程更加便捷。类似微软的PowerBI数据分析工具。
Pandas两种重要数据结构
Pandas提供了两种主要的数据结构:Series 和 DataFrame。这两种数据结构都可以存储不同类型的数据,并且具备强大的数据操作和处理能力。
Series 是一维带标签的数组,类似于Excel的某列;
DataFrame 是二维的表格结构,类似于一个工作表Sheet或数据库表DataTable。
Series 和 DataFrame 两种数据结构已能解决我们所有的数据分析问题!!!
Series数据结构介绍
Series在pandas中常用于存储和操作某一列数据。
其由索引(index)和数据(data)两个主要部分组成:
Pandas- Series创建
Series 语法结构
Series 常见创建方式
List 列表创建
import pandas as pd
#月份列表
monthList=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"," Jan"]
s1=pd.Series(monthList)
print(s1)
Dict字典
monthDict={
"一月":"Jan","二月":"Feb","三月":"Mar","四月":"Apr","五月":"May","六月":"Jun","七月":"Jul","八月":"Aug","九月":"Sep","十月":"Oct","十一月":"Nov","十二月":"Dec"
}
s1=pd.Series(monthDict)
print(s1)
注:key 作为索引
通过标量创建
age=18
s1=pd.Series(age,index=list("ABCDE"))
print(s1)
通过迭代创建
s1=pd.Series(range(5,10))
print(s1)
Pandas- Series常用属性
Series常用属性
print(s2.ndim)#返回 Series 的维度数目 Output:1
print(s2.shape)#返回一个元组,表示 Series 的维度 Output:(7,)
print(s2.size)#返回 Series 中数据的数量 Output:7
print(s2.dtype)#返回 Series 中数据的数据类型 Output: object
print(s2.index)#返回 Series 的索引部分
print(s2.values)#返回 Series 的数据部分
print(s2.empty)#如果 Series 为空,则返回 True,否则返回 False Output:False
print(s2.is_unique)#如果 Series 中的值是唯一的,则返回 True,否则返回 False Output:True
print(s2.isna)#检查 Series 中的每个元素是否为缺失值,并返回一个布尔类型的 Series
print(s2.notna)#检查 Series 中的每个元素是否不是缺失值,并返回一个布尔类型的 Series
DataFrame数据结构介绍
DataFrame数据框可以看作是一个二维的表格,类似于Excel中的工作表,其由多个行和列组成,每个列可以是不同的数据类型。
其由行索引、列索引、数据三部分组:
什么是索引?每一行和每一列都有一个唯一的标识符,称为索引,具有唯一性。
Pandas- DataFrame创建
DataFrame 语法结构
示例代码
pd.DataFrame(proData,index=list("ABC"),columns=["产品编号","产品名称","产品数量"])
DataFrame 常见创建方式
①列表的字典组成
proData = {
'产品编号': ['A1001', 'A1002', 'A10003'],
'产品名称': ['HW手机', 'HW电脑', 'HW平板']
}
df = pd.DataFrame(proData)
print(df)
输出如下:
②字典的列表组成
proData = [
{'产品编号':'A1001','产品名称':'HW手机'},
{'产品编号':'A1002','产品名称':'HW电脑'},
{'产品编号':'A1003','产品名称':'HW平板'}
]
df = pd.DataFrame(proData)
print(df)
输出如下
③列表的列表组成
proData = [
['A1001','HW手机'],
['A1002','HW电脑'],
['A1003','HW平板']
]
df = pd.DataFrame(proData)
print(df)
输出如下
④字典的字典组成
proData = {
"A":{'产品编号':'A1001','产品名称':'HW手机'},
"B":{'产品编号':'A1002','产品名称':'HW电脑'},
"C":{'产品编号':'A1003','产品名称':'HW平板'}
}
df = pd.DataFrame(proData)
print(df)
Pandas- DataFrame属性
DataFrame 常用属性
proData = {
'产品编号': ['A1001', 'A1002', 'A1003'],
'产品名称': ['HW手机', 'HW电脑', 'HW平板'],
'产品数量': [333, 554, 76],
}
df = pd.DataFrame(proData)
print(df)
输出如下:
Series&DataFrame互转
Series对象转换为DataFrame对象
使用Series对象的to_frame()方法
# 创建一个Series对象
series_data = pd.Series(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"], name='星期')
# 将Series转换为DataFrame
df = series_data.to_frame()
print(df)
输出如下:
DataFrame对象转换为Series对象
proData = {
'产品编号': ['A1001', 'A1002', 'A1003'],
'产品名称': ['HW手机', 'HW电脑', 'HW平板'],
'产品数量': [333, 554, 76],
}
df = pd.DataFrame(proData)
# 将DataFrame的指定列转换为Series
series_data = df['产品编号']
print(series_data)
感谢您查看,接下来我们学习如何使用Pandas 读取数据,请关注,谢谢。