如果你是一个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.传入字典形式参数创建Dataframeimport 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中进行数据分析。
那么,接下来我们看一下用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就先分享到这里,下篇文章见。