【数据分析】Pandas 之 Series & DataFrame

本文介绍了Python库pandas中的核心数据结构Series和DataFrame,包括它们的定义、创建方式以及如何通过索引操作数据。重点讲解了Series的一维列表特性,以及DataFrame的二维表格结构,以及如何通过传入列表、嵌套列表、元组和字典来初始化这两种结构。

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

pandas 是基于 numpy 的一个数据分析包,主要目的是为了数据分析,提供了大量数据结构以及数据处理方法。
pandas 主要的两个数据结构: Series 、DataFrame
本节主要介绍这两个数据结构

# 导入pandas模块
import pandas as pd

1. Series

  • 类似一维数组的数据类型,由一组数据和与之相关联的索引组成
  • Series简单来说就是带着索引的一维列表
  • 默认索引从0开始
  • 初始化可以:
    • 传入列表,默认索引
    • 传入列表,自定义索引
    • 传入字典
# 初始化一个Series
print("传入列表,默认索引:")
s1 = pd.Series(['a', 'b', 'c', 'd'])
print(s1)
# 输出0 1 2 3就是索引,a b c d就是一维列表
# 一维的意思是 a 就是一个元素,而不是列表
'''
结果
传入列表,默认索引:
0    a
1    b
2    c
3    d
dtype: object
'''
# Series应用:将一维列表索引化后,就可以用索引取元素
print(s1[1])
# 结果:b
# 初始化一个自定义索引的Series
print("传入列表,自定义索引:")
s2 = pd.Series(['a', 'b', 'c', 'd'], index=[1, 2, 3, 4])
print(s2)
'''
结果
传入列表,自定义索引:
1    a
2    b
3    c
4    d
dtype: object
'''
# 传入字典,用key为索引,value为数据
print("传入字典:")
s3 = pd.Series({1:'a', 2:'b', 3:'c', 4:'d'})
print(s3)
'''
结果
传入字典:
1    a
2    b
3    c
4    d
dtype: object
'''
# Index获得索引
print(s1.index)
# 结果:RangeIndex(start=0, stop=4, step=1)  意思是s1的索引从0开始到4结束,不包含4,步长为1
print(s2.index)
# 结果:Index([1, 2, 3, 4], dtype='int64')  自定义索引会返回索引的内容以及索引的类型
# values获得值
print(s1.values)
# 结果:['a' 'b' 'c' 'd']

2. DataFrame

  • DataFrame是由一组数据和一对索引组成的表格型数据结构
  • 其实就是带着索引的二维列表
  • 默认的行索引和列索引都是从0开始
  • 常用DataFrame表示excel内容
  • 初始化可以:
    • 传入一个列表
    • 传入一个嵌套列表
    • 传入一个内部为元组的嵌套列表
    • 传入一个字典
# 新建一个DataFrame
print("传入列表,默认行索引和列索引:")
df1 = pd.DataFrame(['a', 'b', 'c', 'd'])
print(df1)
'''结果
传入列表,默认行索引和列索引:
   0
0  a
1  b
2  c
3  d
'''
# 传入一个嵌套列表(二维列表)
df2 = pd.DataFrame([['a', 'A'], 
                    ['b', 'B'], 
                    ['c', 'C'], 
                    ['d', 'D']])
print(df2)
'''结果
   0  1
0  a  A
1  b  B
2  c  C
3  d  D
'''
# 传入一个嵌套列表,里面是元组
df3 = pd.DataFrame([('a', 'A'), 
                    ('b', 'B'), 
                    ('c', 'C'), 
                    ('d', 'D')])
print(df3)
'''
结果
   0  1
0  a  A
1  b  B
2  c  C
3  d  D
'''
# 指定列索引
df4 = pd.DataFrame([['a', 'A'], 
                    ['b', 'B'], 
                    ['c', 'C'], 
                    ['d', 'D']], columns = ["小写", "大写"])
print(df4)
# 指定行索引
df5 = pd.DataFrame([['a', 'A'], 
                    ['b', 'B'], 
                    ['c', 'C'], 
                    ['d', 'D']], columns = ["小写", "大写"], index = ["一", "二", "三", "四"])
print(df5)
'''
结果
  小写 大写
0  a  A
1  b  B
2  c  C
3  d  D
  小写 大写
一  a  A
二  b  B
三  c  C
四  d  D
'''
# 传入字典
df6 = pd.DataFrame({"小写":['a', 'b', 'c', 'd'], 
                    "大写":['A', 'B', 'C', 'D']}, index = ["一", "二", "三", "四"])
print(df6)
'''
结果
  小写 大写
一  a  A
二  b  B
三  c  C
四  d  D
'''
# columns属性获取Dataframe的列索引
print(df2.columns)
# 结果:RangeIndex(start=0, stop=2, step=1)  列索引从0开始,到2结束,不包括2,步长为1
print(df4.columns)
# 结果:Index(['小写', '大写'], dtype='object')   自定义列索引全部展示出来

# index属性获取Dataframe的行索引
print(df2.index)
# 结果:RangeIndex(start=0, stop=4, step=1)  列索引从0开始,到4结束,不包括4,步长为1
print(df5.index)
# 结果:Index(['一', '二', '三', '四'], dtype='object')   自定义行索引全部展示出来
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值