尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Pandas学习第二课—DataFrame

Pandas学习第二课—DataFrame
📅 发布时间:2026/6/22 21:43:17

1. DataFrame认知

  1. DataFrame 是 Pandas 中的另一个核心数据结构,类似于一个二维的表格或数据库中的数据表。

  2. DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。

  3. DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

  4. DataFrame 提供了各种功能来进行数据访问、筛选、分割、合并、重塑、聚合以及转换等操作。

  5. DataFrame 是一个非常灵活且强大的数据结构,广泛用于数据分析、清洗、转换、可视化等任务。

    资料: https://www.runoob.com/

2. DataFrame的创建

创建语法:

pandas.DataFrame(data=None,index=None,columns=None,dtype=None,copy=None)

二维的、大小可变的(可以增删行、增删列)、可存储不同类型数据的表格型数据。该数据结构包含带标签的轴(行标签和列标签),算术运算会根据行标签和列标签自动对齐。是 pandas 中最主要(核心)的数据结构。

参数含义
data支持的数据类型:字典、数组、可迭代对象、dataframe、Series
index默认是0,1,2,…n-1
columns默认为0,1,2,…n-1,若数据data中包含列标签,则保留columns指定的列。即当数据data中没有列名,使用指定的列名;当数据data中包含列名,只保留columns中指定的列
dtype默认为None, 强制指定的数据类型。只允许传入一种数据类型。如果为 None,则自动推断。
copy布尔值,默认为None。控制新表格和原数据是不是同一份数据。字典创建:DataFrame默认 = 复制(安全);DataFrame / 二维数组创建:默认 = 不复制(省内存)字典里有 Series:用 copy=False 能完全不复制,共用数据
# 1.通过字典创建dataframeprint('**********df1***********')dct1={"name":('lisa','jane','liming'),'age':[19,20,21]}df1=pd.DataFrame(dct1)print(df1)# 2.通过包含Series的字典创建dataframe# 2.1 Series中不指定indexprint('**********df2***********')dct2={'course':['math','history','physics','chemisty'],'score':pd.Series([99,88,77,66])}df2=pd.DataFrame(dct2)print(df2)# 2.2 Series中指定indexprint('**********df3***********')dct3={'city':['北京','广州','上海','苏州'],'course':['math','history','physics','chemisty'],'score':pd.Series([99,88,77,66],index=['张三','李四','王五','孙六'])}df3=pd.DataFrame(dct3)print(df3)# 2.3 多个Series中指定index,但其中还有普通列表,只有4个元素无法与合并后的6个索引匹配,报错# ValueError: array length 4 does not match index length 6# dct4 = {'city':['北京','广州','上海','苏州'],# 'course':pd.Series(['math','history','physics','chemisty'],# index=['赵二','张三','钱七','王五']),# 'score':pd.Series([99,88,77,66],index=['张三','李四','王五','孙六'])}## df4 = pd.DataFrame(dct4)# print(df4)print('**********df4***********')# 2.3 多个Series中指定index,自动按索引对齐dct4={'city':pd.Series(['北京','广州','上海','苏州'],index=['周九','赵二','张三','钱七']),'course':pd.Series(['math','history','physics','chemisty'],index=['赵二','张三','钱七','王五']),'score':pd.Series([99,88,77,66],index=['张三','李四','王五','孙六'])}df4=pd.DataFrame(dct4)print(df4)print('**********df5***********')# 3. 通过array()数组创建dataframear1=np.array(np.random.randint(0,100,size=(4,3)))df5=pd.DataFrame(ar1,columns=['aa','bb','cc'])print(df5)print('**********df6***********')# 通过dataframe创建df6=pd.DataFrame(df5,columns=['aa','cc'])print(df6)




创建总结:

  1. 普通字典(列表 / 元组为值)构建
    字典键作为 DataFrame 列名,字典内列表、元组数据按位置组成各列,所有容器元素长度必须保持一致,生成后默认生成从 0 开始的数字行索引,数据按顺序一一对应填充。

  2. 字典混用无索引 Series 与普通列表构建
    未自定义索引的 Series 和普通列表规则一致,依靠下标位置匹配数据,要求所有数据长度相同;一旦字典内出现带自定义索引的 Series,就会整合全部索引扩充行数量,搭配固定长度无索引列表时,行列长度不一致直接触发报错。

  3. 全自定义索引 Series 组成字典构建
    字典所有值全部为带独立索引的 Series 时,DataFrame 会汇总全部行索引并自动对齐数据,索引匹配成功填入原值,无匹配项填充缺失值 NaN,不受各 Series 索引顺序、元素数量差异影响,不会报长度错误。

  4. 数组、已有 DataFrame 数据源构建
    使用二维 numpy 数组创建时,数组每行对应表格一行,可通过 columns 参数自定义列名,默认数字行索引;依托现有 DataFrame 新建表格时,借助 columns 参数可筛选指定列,填写原表不存在的列名会生成全 NaN 新列。

3. DataFrame常用属性

属性含义
dtypes返回 DataFrame的数据类型
index返回DataFrame的行标签
columns返回DataFrame的列标签
values返回DataFrame的数据值
shape返回DataFrame的形状(m*n)
ndim返回DataFrame的维度
size返回DataFrame的数据个数:m*n
loc通过行标签、列标签获取DataFrame数据
iloc基于纯整数位置的索引,用于按位置选取数据。不管行标签、列标签叫什么,只看 “第几个”

相关新闻

  • 告别熬夜填表!5款表格自动化神器实测,小白也能零代码搞定 - 品牌测评鉴赏家
  • RTIC运行时完整性检查:硬件寄存器配置与安全实践详解
  • 基于PLC的分拣存储控制系统设计23(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

最新新闻

  • 行测资料公式大全汇总|行测资料公式汇总一张表|行测资料必背公式
  • 突破macOS键盘限制:Karabiner-Elements的架构设计与高级定制技术
  • 2026汕尾营业性演出许可证有没有正规代办渠道推荐 - 资讯速览
  • 从数据迷雾到战术洞察:开源工具如何重新定义你的英雄联盟分析体验
  • Mermaid Live Editor:3步掌握零代码图表设计的终极神器
  • Angular NgModule 核心机制深度解析:declarations、imports、exports、providers

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号