[Pandas] 构建DataFrame数据框

news2024/12/23 22:13:36

DataFrame是二维数据结构,数据以行和列的形式排列

构建DataFrame最基本的定义格式如下

df = pd.DataFrame(data=None, index=None, columns=None)

参数说明

data: 具体数据

index: 行索引,如果没有指定,会自动生成RangeIndex(0,1,2,...,n)

columns: 列索引(表头),如果没有指定,会自动生成RangeIndex(0,1,2,...,n) 

我们可以直接使用pd.DataFrame()创建一个空的DataFrame数据框

import pandas as pd
df = pd.DataFrame()
'''
Empty DataFrame
Columns: []
Index: []
'''
print(df)

以下给出常用的构建DataFrame数据框的方法

方法1: 使用字典dict构建DataFrame数据框

字典中的键为列名,值一般为一个列表、元组或ndarray数组对象,是具体的数据

import pandas as pd
import numpy as np

data = {'a':[1, 2, 3, 4],  # 列表
        'b':(4, 5, 6, 7),  # 元组
        'c':np.array([8, 9, 10, 11])  # ndarry数组
}
# 创建Dataframe
df1 = pd.DataFrame(data) 

df1

可以看到,一个新的DataFrame数据框已经创建成功了,系统默认为我们生成了行索引,而列索引就是字典dict里的key,我们也可以在创建Dataframe时手动指定行索引,只需修改参数index即可

import pandas as pd
import numpy as np

data = {'a':[1, 2, 3, 4],  # 列表
        'b':(4, 5, 6, 7),  # 元组
        'c':np.array([8, 9, 10, 11])  # ndarry数组
}
# 创建Dataframe
df1 = pd.DataFrame(data,index=['one','two','three','four']) 

df1

我们也可以使用Series组成的字典构建DataFrame数据框

字典里的一个键值对为一列数据,键为列名,值是一个Series

import pandas as pd

data = {"x": pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']), 
        "y": pd.Series([5, 6, 7, 8], index=['a', 'b', 'c', 'd'])}

# 创建DataFrame
df2 = pd.DataFrame(data)

df2

方法2: 使用列表构建Dataframe数据框

我们可以使用字典组成的列表构建DataFrame,每个字典是一行数据

import pandas as pd

# 定义一个字典列表
data = [{'x':1, 'y':2, 'z':3},
        {'x':4, 'y':5, 'z':6}]

# 创建DataFrame
df3 = pd.DataFrame(data, index=['a','b'])

df3

我们也可以使用二维列表创建DataFrame数据框

import pandas as pd
data = [['Alex',10],['Bob',12],['Clarke',13]]
df4 = pd.DataFrame(data,columns=['Name','Age'])

df4

提示Tips

在实际业务中一般不需要我们来生成数据,而是有已经采集好的数据集,直接加载到DataFrame即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/483615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mongoose使用详细 -- 如何通过mongoose搭建服务器

前言 授人以鱼不如授人以渔,这篇文章详细介绍了,对于一个从来没有听说过mongoose的小菜鸟如何快速了解和上手mongoose 其他一些开源库可以借助类似的方法进行学习 提前需要准备的工具 1.官网文档 Mongoose :: Documentation 官网提供了很多例子讲解&am…

[Pandas] 查看DataFrame的常用属性

导入数据 import pandas as pddf pd.DataFrame([[L123,A,0,123],[L456,A,1,456],[L437,C,0,789],[L112,B,1,741],[L211,A,0,852],[L985,B,1,963]],columns[Material,Level,Passing,LT]) df 1.dtypes: 查看DataFrame中各列的数据类型 df.dtypes会返回每个字段的数据类型及Da…

C++练级之初级:第六篇

类和对象入门级:第六篇 1.类的引入2.类的定义2.1类的访问限定符2.2类的封装2.3类的实例化 3.如何计算类或者对象的大小4.this指针 总结 我们知道,C在C语言的基础上引入了对象的概念,那么从本篇开始进入类和对象; 1.类的引入 &…

【JavaEE】_1.多线程(1)

目录 1.操作系统 2. 进程 3. CPU分配——进程调度 3.1 操作系统对进程的管理 3.2 PCB的属性 3.2.1 基础属性 3.2.2 实现进程调度的属性 4. 内存分配——内存管理 4.1 虚拟地址空间 4.2 进程间通信 5. 线程 5.1 线程的概念 5.2 创建与使用多线程 5.2.1 方式1&a…

【数据结构】八大排序(一)

😛作者:日出等日落 📘 专栏:数据结构 珍惜自己的时间,利用好每一份每一秒。做事不放过没一个细节,小心谨慎,细致,能够做到这些,还有什么是不可能的呢? 目录 ​编辑 ✔…

【刷题之路Ⅱ】LeetCode 61. 旋转链表

【刷题之路Ⅱ】LeetCode 61. 旋转链表 一、题目描述二、解题1、方法1——移动部分链表1.1、思路分析1.2、代码实现 2、方法1——闭合为环2.1、思路分析2.2、代码实现 一、题目描述 原题连接: 61. 旋转链表 题目描述: 给你一个链表的头节点 head &#x…

【Python | matplotlib】matplotlib.cm的理解以及举例说明

文章目录 一、模块介绍二、颜色举例 一、模块介绍 matplotlib.cm是Matplotlib中的一个模块,它提供了一组用于处理颜色映射(colormap)的函数和类。颜色映射是一种将数值映射到颜色的方法,常用于制作热力图、等值线图、散点图等。 …

软件工程实验:原型设计

目录 前言实验目的实验要求实验过程系统原型绘制生成html代码 总结 前言 本次实验的主题是原型设计,即根据用户需求和系统功能,设计一个简单的软件原型,展示系统的界面和交互方式。原型设计是软件工程中的一种重要技术,它可以帮助…

深入探索PyTorch中的自动微分原理及梯度计算方法

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

如何完全卸载linux下通过rpm安装的mysql

卸载linux下通过rpm安装的mysql 1.关闭MySQL服务2.使用 rpm 命令的方式查看已安装的mysql3. 使用rpm -ev 命令移除安装4. 查询是否还存在遗漏文件5. 删除MySQL数据库内容 1.关闭MySQL服务 如果之前安装过并已经启动,则需要卸载前请先关闭MySQL服务 systemctl stop…

Tomcat整体架构解析

一、Tomcat整体架构介绍 Tomcat是一个开源的轻量级web应用服务器。整体架构如下: Tomcat中最顶层的容器是Server,即代表一个Tomcat服务器,一个Server中可以有多个Service,对外提供不同的web服务。Service是对Connector和Contain…

电话号码的字母组合

题目:17. 电话号码的字母组合 - 力扣(Leetcode) 思路: 给定一个电话号码字符串 digits,须输出它所能表示的所有字母组合。我们可以先定义一个数字字符到字母表的映射表 numToStr,然后再用 Combine 函数递归…

【Linux专区】 环境搭建 | 带你白嫖七个月阿里云服务器

💞💞欢迎来到 Claffic 的博客💞💞 👉 专栏:《Linux专区》👈 前言: 工欲善其事必先利其器,没个Linux环境怎么愉快地学Linux?这期就先带大家把环境搞好&#xf…

物联网系统中常见的通信协议分析

物联网(Internet of Things, 简称IoT)是指将各种传感器、设备等通过互联网连接起来,形成一个庞大的网络,实现物与物之间的互联互通。在实现这个过程中,各种不同的通信协议被广泛应用。本文将为大家介绍物联网中常见的通…

[架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

目录 一、文件的索引块。 二、索引分配表 三、索引表的链接方案 四、多层索引 五、混合索引分配 一、文件的索引块。 存放在目录中的文件,并非是文件的真实内容。 目录中记录了文件的索引块是几号磁盘块。 文件对应的索引表是存放在指定的磁盘块中的&#x…

CSI指纹预处理(中值、均值、Hampel、小波滤波)

目录 1、前言 2、中值滤波器 3、均值滤波器 4、Hampel滤波器 5、小波变换滤波器 1、前言 因为设备、温度和实验室物品摆设等因素的影响,未经处理的CSI数据不能直接使用,需要对数据进行异常值处理以保证数据的稳定性,同时减少环境中人的…

云原生Istio架构和组件介绍

目录 1 Istio 架构2 Istio组件介绍2.1 Pilot2.2 Mixer2.3 Citadel2.4 Galley2.5 Sidecar-injector2.6 Proxy(Envoy)2.7 Ingressgateway2.8 其他组件 1 Istio 架构 Istio的架构,分为控制平面和数据面平两部分。 - 数据平面:由一组智能代理([En…

Eclipse改SSH项目,修改java代码无效

遇到了一个大坑,记录一下… 坑1:修改后台代码总是没用… 1.背景: Eclipse运行SSH项目(StrutsSpringHibernate),修改SQL语句,但是前端查询的结果没变化…(例如,在sql里加上 where …

LeetCode279之完全平方数(相关话题:动态规划,四平方和定理)

题目描述 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 示例 1: 输入:n = 12 输出:3 解释:12 = 4 + 4 +…

【Android构建篇】MakeFile语法

前言 对于一个看不懂Makefile构建文件规则的人来说,这个Makefile语法和shell语法是真不一样,但是又引用了部分shell语法,可以说是shell语法的子类,Makefile语法继承了它。 和shell语法不一样,这个更难一点&#xff0…