Pandas 数据分析系列1--Series&DataFrame数据结构详解

本文介绍了Pandas这一数据分析库的基础知识,包括Pandas的概述、两种核心数据结构Series和DataFrame的详细创建及属性。Series是一维带标签的数组,DataFrame则是二维表格结构,两者支持丰富的数据操作。文章还讲解了如何在Series和DataFrame间进行转换,为数据分析打下基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pandas 概述

   Pandas 是一个开源的数据分析和数据处理库,是基于 NumPy 开发的。它提供了灵活且高效的数据结构,使得处理和分析结构化、缺失和时间序列数据变得更加容易。其在数据分析和数据处理领域广泛应用,在金融、社交媒体、科学研究等领域都有很高的使用率和广泛的应用场景。它不仅具有易用性和灵活性,还具备高效的计算能力,是数据科学家和数据分析师们必不可少的工具之一。

简而言之,Pandas 是数据分析和处理的重要工具,无论是数据的读取、清洗、选择,还是统计分析和可视化,pandas 都能够满足你的需求,并且使数据处理过程更加便捷。类似微软的PowerBI数据分析工具。

Pandas两种重要数据结构

   Pandas提供了两种主要的数据结构Series DataFrame这两种数据结构都可以存储不同类型的数据,并且具备强大的数据操作和处理能力。

Series 是一维带标签的数组,类似于Excel的某列

DataFrame 是二维的表格结构,类似于一工作表Sheet数据库DataTable

Series DataFrame 两种数据结构已能解决我们所有的数据分析问题!!!

Series数据结构介绍

Seriespandas中常用于存储和操作列数据。

其由索引(index)和数据(data)两个主要部分组成:

1)索引 是用来唯一标识每个数据点的标签,可以是整数、字符串或其他数据类型
2)数据 则是具体存储的数值或对象。

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中的工作表,其由多个行和列组成,每个列可以是不同的数据类型

其由索引、列索引、数据三部分组:

1)行索引:行索引表示每一行的标识符,可以是整数、字符串或日期
2)列索引:列索引表示每一列的标识符,通常是 字符串
3)值: 数据框中具体的值,可以是不同的数据类型,如整数、浮点数、字符串等

什么是索引?每一行和每一列都有一个唯一的标识符,称为索引,具有唯一性。

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 读取数据,请关注,谢谢。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值