文档章节

Pandas DataFrame创建方法大全

汇智网教程
 汇智网教程
发布于 09/17 09:13
字数 954
阅读 16
收藏 0

Pandas是Python的数据分析利器,DataFrame是Pandas进行数据分析的基本结构,可以把DataFrame视为一个二维数据表,每一行都表示一个数据记录。本文将介绍创建Pandas DataFrame的6种方法。

创建Pandas数据帧的六种方法如下:

  • 创建空DataFrame
  • 手工创建DataFrame
  • 使用List创建DataFrame
  • 使用Dict创建DataFrme
  • 使用Excel文件创建DataFrame
  • 使用CSV文件创建DataFrame

1、创建空的Pandas DataFrame

学编程,上汇智网,在线编程环境,一对一助教指导。

首先我们看一下如何创建一个空的DataFrame(数据帧):

pd.DataFrame(columns=['A', 'B', 'C'], index=[0,1,2])

columns参数用来定义列名,index参数用来定义行号。上面的代码创建了一个3行3列的二维数据表,结果看起来是这样:

在这里插入图片描述 嗯,所有数据项都是NaN。

2、手工创建Pandas DataFrame

接下来让我们看看如何使用pd.DataFrame手工创建一个Pandas数据帧:

df = pd.DataFrame(data=['Apple','Banana','Cherry','Dates','Eggfruit'])

使用data参数来声明数据,结果看起来是这样:

在这里插入图片描述 由于我们没有定义数据帧的列名,因此Pandas默认使用序号作为列名。和原来一样,可以使用columns参数来声明列名:

df = pd.DataFrame(data=['Apple','Banana','Cherry','Dates', 'Eggfruit'], 
                  columns=['Fruits'])

结果如下:

在这里插入图片描述

最左侧的列被称为索引,默认从0开始,和原来一样我们用index自行定义:

df = pd.DataFrame(data=['Apple','Banana','Cherry','Dates','Eggfruit'], 
                  index = [1,2,3,4,5],
                  columns=['Fruits'])

现在的数据帧看起来是这样:

在这里插入图片描述

那么如果要添加一个Quantity列来表示水果数量该怎么做?

pd.DataFrame(data=[['Apple',5],
                   ['Banana',10],
                   ['Cherry',8],
                   ['Dates',3],
                   ['Eggfruit',7]],
             columns = ['Fruits','Quantity'],
             index=[1,2,3,4,5])

注意data参数和colums参数都进行了相应的调整。现在的DataFrame这样:

在这里插入图片描述

3、使用列表创建Pandas DataFrame

学编程,上汇智网,在线编程环境,一对一助教指导。

假设我们有一个列表:

fruits_list = ['Apple','Banana','Cherry','Dates','Eggfruit']

要把列表转换为DataFrame,直接将列表传入pd.DataFrame即可:

pd.DataFrame(fruits_list)

得到的数据帧结构如下:

在这里插入图片描述

当然你可以用columns参数来定义列名,或者用index来声明行号:

pd.DataFrame(fruits_list, 
             columns = ['Fruits'], 
             index = ['a','b','c','d','e'])

结果如下:

在这里插入图片描述

4、使用字典创建Pandas DataFrame

字典就是一组键/值对:

dict = {key1 : value1, key2 : value2, key3 : value3}

当我们将上述字典对象转换为DataFrame时,看起来是这样:

在这里插入图片描述

容易注意到,字段的键对应成为DataFrame的列,而所有的值对应数据。 记住这个对应关系。

现在假设我们要创建一个如下形状的DataFrame:

在这里插入图片描述

由于列名为Fruits、Quantity和Color,因此对应的字典也应当 有这几个键,而每一行的值则对应字典中的键值,字典应该是 如下的结构:

fruits_dict = { 'Fruits':['Apple','Banana','Cherry','Dates','Eggfruit'],
                'Quantity': [5, 10, 8, 3, 7],  
                'Color': ['Red', 'Yellow', 'Red', 'Brown', 'Yellow']}

现在让我们将这个字典转换为DataFrame,一句话的事儿:

pd.DataFrame(fruits_dict)

结果如下:

在这里插入图片描述

5、将Excel文件转换为Pandas DataFrame

如果你有一个excel文件,例如“fruits.xlsx“…

在这里插入图片描述

那么可以使用下面的代码将其转换为Pandas DataFrame:

fruits = pd.read_excel('fruits.xlsx')

得到的数据帧看起来是这样:

在这里插入图片描述

6、将CSV文件转换为Pandas DataFrame

假设你有一个CSV文件,例如“fruits.csv“,可以使用如下的代码 将其转换为DataFrame:

fruits = pd.read_csv('fruits.csv')

也是一句话的事儿。


原文链接:Pandas数据帧的6种创建方法 - 汇智网

© 著作权归作者所有

汇智网教程
粉丝 17
博文 241
码字总数 294791
作品 0
东城
私信 提问
python执行各种sql语句,让你分析数据更简洁

由于许多潜在的pandas用户对SQL有一定的了 解 ,因此本页旨在提供一些使用pandas来执行各种SQL操作的示例。 大部分的例子将利用在pandas测试中发现的数据集。我们将数据读入一个名为tips的D...

frbevrqbn4l
2017/11/07
0
0
十分钟读懂python的“数据库”语言

JOIN可以用或执行。默认情况下, 将在其索引中加入DataFrame。每个方法都有参数,允许您指定要执行的联接类型(LEFT,RIGHT,INNER,FULL)或要联接的列(列名称或索引)。 假设我们有两个与...

frbevrqbn4l
2017/11/09
0
0
Python数据分析工具库-pandas 数据分析与探索工具(一)

pandas是基于numpy的一个高级数据结构和操作的数据分析与探索工具,本文基于pandas API文档对pandas的两个重要的数据结构、基本函数、函数应用、排序以及层次化索引进行分析,对于本文的示例...

损失函数
2018/05/29
0
0
Pandas入门(一)

文章同载于我的博客:http://www.viljw1557.cn pandas的数据结构介绍 我们将使用下面的方式导入pandas: Series Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一...

Viljw
2018/01/12
0
0
10分钟入门Pandas

参考: 10 Minutes to pandas 安装 支持的python版本: 2.7, 3.5, 3.6 检查本地的pandas运行环境是否完整,可以运行pandas的单元测试用例 获取当前使用pandas的版本信息 概览 pandas的基本数据...

宁静的夜
2017/12/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库表与表之间的一对一、一对多、多对多关系

表1 foreign key 表2 多对一:表 1 的多条记录对应表 2 的一条记录 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记...

Garphy
37分钟前
6
0
MySQL 表崩溃修复

MySQL日志报错 2019-10-19 13:41:51 19916 [ERROR] /usr/local/mysql/bin/mysqld: Table './initread_hss/user_info' is marked as crashed and should be repaired2019-10-19 13:41:51 1......

雁南飞丶
46分钟前
6
0
Error和Exception

1.Error类和Exception类都是继承Throwable类 2.Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问...

大瑞清_liurq
今天
4
0
8086汇编基础 start 程序入口标签的示例

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
今天
4
0
uni app 零基础小白到项目实战2

<template> <scroll-view v-for="(card, index) in list" :key="index"> <view v-for =(item, itemIndex) in card"> {{item.value}}</view> </scroll-view></template> GraceUi va......

达达前端小酒馆
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部