pandas创建DataFrame的几种方式(建议收藏)

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

在这里插入图片描述
想了解更多知识,欢迎移步到同名微信公众号!

好了,创建DataFrame就先分享到这里,下篇文章见。

  • 25
    点赞
  • 148
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python和数据分析

钟意作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值