python 字典组成的列表 pandas_Python--Pandas.2(DataFrame的概念和创建,索引,基本操作)...

DataFrame

DataFrame 概念和创建 :

先来看一个例子 :

这是一个由列表组成的字典

importnumpy as npimportpandas as pd

data= {'name':['Jack','Tom','Mary'],'age':[18,19,21],'gender':['m','m','w']}

frame=pd.DataFrame(data)print(frame)

fbb893dc438a08d3fa2813270eb3d55d.png

可以看到 DataFrame 可以理解是一个二维数组,是一个表格型的数据结构,它包含了有序的列.

其列的值 ,它可以是 字符串 数值 或者是 布尔值等. 从行和列看,DataFrame是一个带有标签的二维数组

如何取行和列呢?    是用index 和 columns属性可以拿到,如下 :

print(frame.index) # 取列,标签,索引print(frame.columns) # 取行

76d6eb39f51d4c75631716e773a0c92c.png

也可以使用Values 取得该DataFrame的值 :

print(frame.values , type(frame.values))

7eeae76851b99c49c62f390a84d8c79e.png

查看该frame的属性,可以看到该frame还是一个数组,接下来看看DataFrame的创建方式

方法一 : 是由

数组或者list组成的字典. 每一个键值对,就是一列,且长度需要一致.如图

d2922cd3bbe9e376c2b525d0e03c6f20.png

还可以指定DataFrame的列 和 行,使用cloumns属性和 index 属性  list类型参数,(如果设置的该列不存在,就用NaN填充) :

frame = pd.DataFrame(data,index=['Jack','Tom','Mary'],columns=['age','name','gender','height'])

c43501556bf1fc9de7f54b97cbfbc88e.png

需要注意的是 指定index 重新定义索引,格式是list ,长度需要一致.否则报错!

方法二 : 由 Series组成的字典 :

data1 = {'one':pd.Series(np.random.rand(2)),'two':pd.Series(np.random.rand(3))} #没有设置index的Series

data2 = {'one':pd.Series(np.random.rand(2),index=['a','b']),'two':pd.Series(np.random.rand(3),index=['a','b','c'])} #设置了indes9Series

print(data2)

df1=pd.DataFrame (data1)

df2= pd.DataFrame (data2)

2c30d51e4dd5112d118b5bba0cc25b0b.png

与上面的方法一相比,Series 可以长度不一样,对于没有的值,DataFrame会用NaN填充.

由Series 组成的字典, 创建DataFrame时, columns为字典的key,index为Series 的标签,就是索引.如果Series没有指定标签,那就默认用数字标签.

方法三  : 通过 二维数组 直接创建

arr = pd.DataFrame(np.random.rand(9).reshape(3,3))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值