pandas库及其具体应用

Series

一组数据加索引

可以有以下的创建方式(运用字典)

import pandas as pd
obj=pd.Series([1,2,3,4,5,6])
print(obj)
sdata={'a':3500,'b':2500,'c':4500}
bojt=pd.Series(sdata)
print(bojt)
sdata2=['a','b','c','d']
objt1=pd.Series(bojt,index=sdata2)
print(objt1)
objt1.index.name='stata'
print(objt1)

运行结果图: 

 Series的功能特别的强大,比如说两个数组可以相互相加,或者是数组可以自动匹配赋值,具体的可以在https://blog.csdn.net/brucewong0516/article/details/79196902中找到

DataFrame

import pandas as pd
data={'a':[100,200,300,400],
      'b':[200,300,400,500],
      'c':[300,400,500,600]}
dframe=pd.DataFrame(data)
print(dframe)
dframe2=pd.DataFrame(data,columns=['c','b','a'])
print(dframe2)
datastates=[1,2,3,4]
dframe3=pd.DataFrame(data,index=datastates,columns=['c','b','a','g'])
print(dframe3)

运行结果图为:

 解释一下:首先,前5行创建了第一个DataFrame,第六行中的columns=['c','b','a']可以修改三个属性的顺序,index=可以修改行号的索引名称,但是注意,这个修改行号的索引值不能超过原来的行数,不然会报错,如下:

datastates=[1,2,3,4,5]
dframe3=pd.DataFrame(data,index=datastates,columns=['c','b','a','g'])

 本来有四行,但是将其改成五行,不会新增一行NaN,只会出现

 从DataFrame中获取一列,可以得到一个Series,有两种方式,分别是

print(dframe['a'])
print(dframe.b)

获取一行,可以通过loc,例如

print(dframe.loc[0])

注意注意注意:loc引用要通过【】,而不是(),不然不会输出结果

新增列和删除行列

temp=pd.Series([1,2,3],index=[1,2,3])
print(temp)
dframe['d']=temp
print(dframe)
dframe=dframe.drop(0)
print(dframe)
dframe=dframe.drop('a',axis=1)
print(dframe)
#drop列号,需要加一个axis=1
del dframe['c']
print(dframe)

删除行用drop(行号),删除列用del关键字,del dframe【‘列引用’】

新增一列需要首先创建一个Series,然后再添加进去

如果用字典嵌套字典去创建DataFrame,则不用index=   来重新定义行号和列号,如下所示

data1={'a':{'one':100,'two':200,'three':300},'b':{'two':200,'three':300},'c':{'one':100,'two':200,'three':300}}
dframe2=pd.DataFrame(data1)
print(dframe2)
dframe2=dframe2.T
print(dframe2)

效果图为:

处理缺失数据

滤除缺失数据

data=pd.DataFrame([[1,2,3],[4,5,np.nan],[7,8,9]])
print(data)
data2=data.dropna()
print(data2)
data3=data.dropna(how='all')
print(data3)

 how='all'表示只有一行全是nan才会去掉,运行结果为:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值