Pandas 数据结构介绍 DataFrame(4)Python 数据分析从零开始

8 篇文章 0 订阅
5 篇文章 0 订阅

 

写任何有关pandas的代码前,我们应该先导入pandas

import pandas as pd

我们下面出现全部的pd都代表对pandas的引用

 

一、简单的DataFrame对象

        DataFrame是一种矩阵数据表,可以看成由多个拥有相同索引的Series。如果有过关系型数据库基础的朋友会很熟悉这种表结构,甚至我们可以想象下Execl表,也有异曲同工之妙。

        对象名 = pd.DataFrame( 值 )

import pandas as pd
data = {'地区':['北京','北京','上海','上海','广州','广州'],
'年份':[2018,2019,2018,2019,2018,2019],
'人口':[3000,3100,2400,2500,1400,1500]}
df = pd.DataFrame(data)

        DataFrame同样也会自动分配索引。列也会进行一定的自动排序,但对于一些数据量很大的DataFrame,一次全显示出来会对系统造成一定负担。我们可以仅显示其中的前几行。

        DataFrame对象.head( 需要显示的行数 )

df.head(2)

 

        如果需要改变列的显示顺序或者定义索引名。可以如下方法。

        pd.DataFrame( 数据 ,columns=[ 列名 ],index=[ 索引名 ] )

df1=pd.DataFrame(data,columns=['地区','年份','人口'],
index=['A01','A02','B01','B02','C01','C02'])

二、DataFrame对象检索和选取数据

        DataFrame中选取一列数据,我们会获得一条Series结构的值,索引与DataFrame有相同的名称。在获取数据上有两种方法都可以,甚至后面的一种方法因为能<tab>补全,更常用一些,但是有一定局限,不能是已有的方法名。比如abs什么的。

        DataFrame对象[ 列名 ] 或者 DataFrame对象.列名

        DataFrame中纵向列数据我们已经可以获取了,那么横向行用如下方法也可以获得。

        DataFrame对象.loc[ 索引名/行名 ]

df1.loc['A01']

三、DataFrame对象数据操作

        新建列

        DataFrame中添加一列数据,我们对此列不全部赋值,因此此列显示的某些行是空值。规则是如果列存在,则改变列的值,如果列不存在,则新建一列并赋值。

        DataFrame对象[ 新建索引名/行名 ] = 新列值

data = {'地区':['北京','北京','上海','上海','广州','广州'],

'年份':[2018,2019,2018,2019,2018,2019],

'人口':[3000,3100,2400,2500,1400,1500]}

df2=pd.DataFrame(data,columns=['地区','年份','人口'])

se=pd.Series([30320,32679,23000],index=[0,2,4])

df2['GDP']=se

        新建列还可以使用算式添加

df2['无数据']=pd.isnull(df2.GDP)

        删除列

        DataFrame中删除一列

        del DataFrame对象[ 列名 ]

del df2['无数据']

        改变某一项数值

        DataFrame对象.loc[ 索引名/行名 ,列名 ] = 值

df2.loc[1,'GDP']=33333

        还可以进行转置操作,也就是常说的行列转换。

        DataFrame对象.T

df2.T

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值