pandas创建DataFrame的方式小结
作者:Eternal1690 发布时间:2021-10-25 13:26:23
标签:pandas,DataFrame
如果你是一个pandas初学者,那么不知道你会不会像我一样。在学用列表或者数组创建DataFrame时理不清怎样用数据生成以及想要形状的的Dataframe,那么,现在,你不用自己琢磨了,我这里给你整理了一下,现在我们就来看看这三种生成Dataframe的方式。
1.用传入列表或者数组创建DataFrame 采用列表创建DataFrame
nums = [[i for i in range(3)] for _ in range(10)]
nums
colu = [f'col_{i}' for i in range(3)] # 用来做列名
inde = [f'row_{i}' for i in range(10)] # 用来做索引
pd.DataFrame(data=nums,index=inde,columns=colu)
# 参数解释:data是要传入的数据,index是索引(不指定会自动产生自增长的索引),
# columns为指定的列名,按照顺序装在一个列表中
不知道你发现没有,生成的DataFrame形状和前面的列表'长相‘是一样的,所以,以后要用这种方式创建DataFrame的话是不是只要先把列表生成好形状,就不用再调整DataFrame形状了。
当然用数组创建DataFrame其实是一样的道理,所以我不演示了,我这里给一段代码,需要请自行调试。
用列表创建DataFrame
import numpy as np
import pandas as pd
nums = np.array([i for i in range(1,31)]).reshape(10,3)
colu = [f'col_{i}' for i in range(3)]
inde = [f'row_{i}' for i in range(10)]
pd.DataFrame(data=nums,index=inde,columns=colu)
实际上这两种方式我们并不推荐,我们更推荐用下面这种data参数给字典的方式来创建DataFrame
2.传入字典形式参数创建DataFrame
import numpy as np
import pandas as pd
hight = np.random.randint(158,180,10)
weight = np.random.randint(49,75,10)
pd.DataFrame(data={
'hight':hight,
'weight':weight,}
) # 这里没有设置索引,会自动生成
怎么样,这样是不是超级简单呢?
将直接读取数据文件生成DataFrame
但实际上以上创建DataFrame的方式都不是日常工作中最常用的,很多时候,其实我们是直接读取以个文件,然后将文件中的数据放入DataFrame中进行数据分析。
那么,接下来我们看一下用pandas读取excel文件或者csv文件
当我们输入代码pd.read_然后按tab键我们发现
因此我们发现,其实不仅仅是csv和excel文件,实际上还可以读取很多种类型的文件,但这里我们只演示读取excel和csv文件
读取excel
df = pd.read_excel('data/2020年销售数据.xlsx')
df
读取csv
df = pd.read_csv('data/2018年北京积分落户数据.csv',encoding='utf-8') # encoding参数指定数据的编码方式为utf-8
df
来源:https://blog.csdn.net/dchzxl/article/details/120558378


猜你喜欢
- 一、TensorFlow常规模型加载方法保存模型tf.train.Saver()类,.save(sess, ckpt文件目录)方法参数名称功
- 前言几乎每个程序都需要用到图片。下面就来给大家介绍前端+PHP后端实现微信小程序实现图片上传功能,分享出来供大家参考学习,下面话不多说了,来
- 折线图介绍折线图和柱状图一样是我们日常可视化最多的一个图例,当然它的优势和适用场景相信大家肯定不陌生,要想快速的得出趋势,抓住趋势二字,就会
- 本文重点系统分析网页性质结构化的数据解析csv数据保存环境介绍python 3.8pycharm 专业版 >>> 激活码#
- 1. 引言Python是一种强大的编程语言,有很多内置的功能来处理文本。然而,有时候,我们需要处理的文本非常复杂,而Python内置的功能可
- 方法一:<code class="language-python">""" 根
- 在Vue做项目时,做了一个div[contenteditable=true]的组件作为文本输入框在非手动输入值后,光标会丢失,经测试以下这段
- 我的代码结构如下所示不能执行,会出现报错<RadioGroup v-model="animal"> <
- UI自动化测试过程中,可能会出现因测试环境不稳定、网络慢等情况,如果不做任何处理的话,会出现无法定位到特定元素而报错,导致自动化测试无法顺利
- 在我转到wordpress之后第一个考虑的是它的数据库备份恢复问题,因为写bloger都知道,自己的blog记录的都是自己需要的宝贵的资料和
- //金额的格式化s为要格式化的参数(浮点型),n为小数点后保留的位数 function formatMoney(s,n){ n = n>
- 本文实例讲述了python实现线程池的方法。分享给大家供大家参考。具体如下:原理:建立一个任务队列,然多个线程都从这个任务队列中取出任务然后
- python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本
- 下半年毕业季,各种毕业设计纷涌而至,虽然学校教了Python,但是我相信各位肯定没有认真学,做作业就懵逼的那种~所以我都给大家准备好了!各种
- 如下所示:ljust(len,str)字符向左对齐,用str补齐长度rjust(len,str)字符向右对齐,用str补齐长度rjust(l
- 前言使用面向对象编程思想完成学员管理系统的开发,具体如下:系统要求:使用面向对象的方法系统功能:添加学员、删除学员、修改学员信息、查询学员信
- 如果你经常与Excel或Word打交道,那么从两份表格/文档中找到不一样的元素是一件让人很头疼的工作,当然网上有很多方法、第三方软件教你如何
- 误区 #29:可以通过对堆建聚集索引再DROP后进行堆上的碎片整理Nooooooooooooo!!! &
- Mysql InnoDB引擎页目录一、页目录和槽接上一篇,现在知道记录在页中按照主键大小顺序串成了单链表。那么我使用主键查询的时候,最顺其自
- 一、下载1、官网下载2、某度网盘下载链接: https://pan.baidu.com/s/1BgbZH-aFaJ1nwm2PpDeOSQ?