Python Pandas创建Dataframe数据框的六种方法汇总
作者:AHU-丁少侠 发布时间:2023-08-25 07:39:16
创建Dataframe
主要是使用pandas
中的DataFrame
函数,其核心就是第一个参数:data
,传入原始数据,因此我们可以据此给出六种创建Dataframe
的方法:(示例代码环境:jupyter:python3.8)
一、字典类
方法1:列表、数组或元组构成的字典构造Dataframe
直接上代码:
import pandas as pd
import numpy as np
dic = {"a": [1, 2, 3, 4], #列表
"b": np.array([4, 5, 6, 7]), #数组
"c": (1, 2, 3, 4)} #元组
data = pd.DataFrame(dic) # 创建Dataframe
data
运行结果:
可以看到,一个新的数据框已经创建成功了。系统默认为我们生成了行索引,而列索引就是字典dic
里的key
,我们也可以在创建Dataframe
时手动指定行索引,只需修改参数index
:
import pandas as pd
import numpy as np
dic = {
"a": [1, 2, 3, 4], # 列表
"b": np.array([4, 5, 6, 7]), # 数组
"c": (1, 2, 3, 4),
} # 元组
data = pd.DataFrame(dic, index=["一", "二", "三", "四"]) # 创建Dataframe
data
运行结果:
那么如果事后我们后悔了,觉得我们起的列索引的名字不好听,怎么修改呢?只需修改Dataframe
的columns
属性:
data.columns = ["A", "B", "C"]
data
结果如下:
读者也可以尝试修改Dataframe
的index
属性。
方法2:Series构成的字典构造Dataframe
import pandas as pd
import numpy as np
dic = {"a": pd.Series([1, 2, 3, 4]),
"b": pd.Series([4, 5, 6, 7])}
data = pd.DataFrame(dic) # 创建Dataframe
data
运行结果:
方法3:字典构成的字典构造Dateframe
import pandas as pd
import numpy as np
dic = {"a": {"一": 1, "二": 2},
"b": {"一": 10, "二": 20},
"c": {"一": 100, "二": 200}}
data = pd.DataFrame(dic) # 创建Dataframe
data
运行结果:
其中:外层的a,b,c
这三个key
作为了列索引,内层的一,二
作为了行索引。读者可以尝试为字典dic
再添加一个元素:"d":{"一": 100}
,看看创建出来的Dataframe
长什么样,这个结果会给你什么启示?
二、列表类
方法1:二维数组构造Dataframe
import pandas as pd
import numpy as np
ls = np.arange(12).reshape(3, 4) # 创建二维数组
data = pd.DataFrame(ls)
data
运行结果:
方法2:字典列表构造Dataframe
import pandas as pd
import numpy as np
ls = [{"一": 1, "二": 2},
{"一": 10, "二": 20},
{"一": 100, "二": 200}]
data = pd.DataFrame(ls)
data
运行结果:
可以看到,列表中的字典的key
作为了列索引,这个就很像关系型数据库里的字段和值。读者要注意和字典类中方法3的区别。
方法3:Series列表构造Dataframe
import pandas as pd
import numpy as np
ls = [pd.Series([1, 2, 3, 4]),
pd.Series([4, 5, 6, 7])]
data = pd.DataFrame(ls)
data
运行结果:
三、小结
笔者为读者提供了六种方法创建Dataframe
,这里总结一下:
1.细心的读者可能会发现:
在字典类中,字典最外层的key
都作为了列索引
,而值
则作为某一行的值;
在列表类中,列表的每一个元素都作为了某一行的值。
2.读者需要在实际数据处理时,根据处理数据的特点选择合适的方式创建Dataframe
。
来源:https://blog.csdn.net/DY7778F/article/details/119782352


猜你喜欢
- 在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇
- 工作需要开始学Perl,下载个Window版(5.16)的: 下载链接 http://www.activestate.com/activep
- 假设名为A.py的文件需要调用B.py文件内的C(x,y)函数假如在同一目录下,则只需import Bif __name__ == &quo
- 一、前言最近趁空闲之余,在对MySQL数据库进行插入数据测试,对于如何快速插入数据的操作无从下手,在仅1W数据量的情况下,竟花费接近47s,
- struts2.3.24 + spring4.1.6 + hibernate4.3.11+ mysql5.5.25开发环境搭建及相关说明。
- 人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走;有的人好一点,可以二选一;有些能力好或者家境好的人,可以有更多的选择;
- 用Python求解微分线性方程因为之前用matlab也编写过,所以前不久试着用python写,感觉之间互通点也蛮多的,易理解。题目:稀疏线性
- 在之前的博客 人脸识别经典算法一:特征脸方法(Eigenface)里面介绍了特征脸方法的原理,但是并没有对它用到的理论基础PCA做介绍,现在
- 一、队列基本操作from queue import Queueq = Queue(5) # 创建一个容量为5的队列。如果给一个小
- python打印完整异常import tracebackif __name__ == "__main__":  
- 那么Python如何快速上手?找来了一篇广受好评的新语言学习方法介绍,供大家参考。听说,你决定要为你的 “技能树” 再添加一门特定的编程语言
- 前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图
- map()函数map() 会根据提供的函数对指定序列做映射,是内置函数第一个参数 function 以参数序列中的每一个元素调用 funct
- 大家好,今天分享一个实用的办公脚本:将多个PDF合并为一个PDF,例如我手上现在有如下3个PDF分册,需要整合成一个完整的PDF如果换成你操
- 今天要做一个量子隧穿的的演示动画,在CSDN上看了很多大佬的文章,然而忙了接近半天才做好这件事。把踩过的坑记一下,同时这段代码也是值得记录的
- 你好由于你是游客无法查看本文请你登录再进谢谢合作。。。。。当你在爬某些网站的时候需要你登录才可以获取数据咋整?莫慌把这几招传授给你让你以后从
- 这篇文章主要介绍了Python中使用gflags实例及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 一、什么是Golang?Golang(又称Go)是一种由谷歌公司开发的编程语言。它是一种静态类型、编译型、并发型语言,被设计用于构建高效、可
- Oracle的Nvl函数nvl( ) 函数从两个表达式返回一个非null 值。语法NVL(eExpression1, eExpression
- 0.什么是WebpackWebpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对