作者简介:苏凉(在python路上)
博客主页:苏凉.py的博客
名言警句:海阔凭鱼跃,天高任鸟飞。
要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!
关注✨点赞收藏
上期我们学习了numpy的基本使用,我们可以清楚的了解到numpy对于处理数值型数据非常乐观,那么在处理字符串类型的数据时,pandas将是最好的选择!接下来我们就一起进入pandas的学习吧!!
往期回顾:
python数据分析基础001 -matplotlib的基础绘图
python数据分析基础002 -使用matplotlib绘图(散点图,条形图,直方图)
python数据分析基础003 -numpy的使用(详解)
python数据分析基础004 -numpy读取数据以及切片,索引的使用
Pandas 这个名字来源于面板数据(Panel Data)与数据分析(data analysis)这两个名词的组合。Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,享有数据分析“三剑客之一”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它的目标是成为强大、灵活、可以支持任何编程语言的数据分析工具。
numpy能够帮我们处理处理数值型数据,但是这还不够。
很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等
比如:我们通过爬虫获取到了存储在数据库中的数据等等。
因此,numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据。
pip install pandas -i https://pypi.douban.com/simple
import pandas as pd
import pandas as pd
a = pd.Series([1,5,4,85,87,512])
print(a,type(a))
结果:
从上述结果中我们可以看到Series创建的对象带有索引。
pd.Series([],index=list(string))
b = pd.Series([1,5,4,2,45,45,24,5],index=list('abcdefgh'))
print(b)
通过字典也可以创建Series对象,此时字典的键为索引。
import pandas as pd
dic = {
'name':'苏凉.py',
'age':'22',
'qq_num':'787991021',
}
information = pd.Series(dic)
print(information)
Series对象本质上由两个数组构成,一个数组构成对象的键(index,索引),一个数组构成对象的值(values),键->值
import pandas as pd
dic = {
'name':'苏凉.py',
'age':'22',
'qq_num':'787991021',
}
information = pd.Series(dic)
print(information)
print('-'*100)
print(information[0])
print(information[[0,2,3]])
print(information[0:3])
print(information[['name','age','wechat']])
对于一个陌生的Series类型,我们可以通过index和values来了解它的索引和值。
print(information.index)
a = information.index
for i in a:
print(i)
print(information.values)
import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(1,13).reshape(3,4))
print(a)
这里可以看到用DataFrame创建数组时存在行索引和列索引。
行索引:表明不同行,横向索引,叫index,0轴,axis=0.
列索引:表明不同列,纵向索引,叫columns,1轴,axis=1.
pd.DataFrame([]),index=list(),columns=list()
a = pd.DataFrame(np.arange(1,13).reshape(3,4),index=list('123'),columns=list('ABCD'))
方法一:
import pandas as pd
list = {
'name':['苏凉.py','佚名'],
'age':['22','15'],
'QQ_num':['787991021','01234567'],
'wechat':['lxzy787991021','ym789456']
}
person = pd.DataFrame(list)
print(person)
import pandas as pd
list2 = [
{'name':'苏凉.py','age':'22','QQ_num':'787991021','wechat':'lxzy787991021'},
{'name':'佚名','QQ_num':'01234567','wechat':'ym789456'}
]
person = pd.DataFrame(list2)
print(person)
这里可以看到当我们对应的位置没有输入值时结果NaN
注:在dataframe中进行取行或者取列操作时,[]中为数字则取行,[]中为字符串则取列!!
print(person[:2])
结果:
print(person['name'])
print(person[['name','wechat']])
loc时通过标签索引来获取值
print(person.loc[1,:])
print(person.loc[[0,1]])
print(person.loc[:,'name'])
print(person.loc[:,['name','wechat']])
print(person.loc[0,'wechat'])
print(person.loc[0:1,['name','QQ_num']])
iloc是通过位置来获取值
下面列举四个例子即可:
print(person.iloc[0,])
print(person.iloc[:,2])
print(person.iloc[0,3])
print(person.iloc[[0,1],[0,2,3]])
今天的内容到这里就结束啦,觉得写的不错的话给个三连支持一下吧!!文章有不足之处还望指出,一起加油进步啊!希望看到此文的小伙伴都有所收获!关注我,咱们下期再见!!