文章目录
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
整个数据被分为三部分:行索引(index),列索引(columns)及数据内容(data)。
行、列索引的值在没有自定义的时候,会被默认设置上0-N的值,索引的作用就是为了更好的认知和查询数据。
二、Panda的安装和引入
1.安装
pip install pandas
2引入pandas
代码如下(示例):
# 导入pandas模块
import pandas as pd
#通过Series存储每个英雄的基本信息
#创建Series
s1 = pd.Series([1001,'鲁班','18','150.00','男'])
s2 = pd.Series([1002,'小乔','19','167.00','女'])
s3 = pd.Series([1003,'关羽','30','180.00','男'])
s4 = pd.Series([1004,'蔡文姬','20','160.00','女'])
s5 = pd.Series([1005,'兰陵王','22','165.00','男'])
series_list=[s1,s2,s3,s4,s5]
#创建一个DataFrame对象存储通讯录
df=pd.DataFrame(series_list)
# 打印刚刚构造的DataFrame
print(df)
三、Series(Pandas的基本对象)
1.Series的创建
Series是Pandas中最基本的对象,Series类似一种一维数组。能为数据自定义标签,也就是索引(index),然后通过索引来访问数组中的数据。
1.使用默认索引的示例:
# 导入Series
from pandas import Series,DataFrame
# 创建Series,使用默认索引
sel = Series(data=[1,'TheShy',20,'天不生theshy,LPL上单万古如长夜'])
print(sel)
运行结果:
一个Series其实就是一条数据,Series方法的第一个参数是data,第二个参数是index(索引),如果没有传值会使用默认值(0-N)。
2.带索引参数的示例:
# 导入Series
from pandas import Series,DataFrame
# 创建Series,使用自定义索引
sel = Series(data=[1,'TheShy',20,'天不生theshy,Lpl上单万古如长夜'],
index = ['排名','ID号','年龄','评语'])
print(sel)
运行结果:
所以Series可以传列表进去,使用默认索引,也可以将map集合传进去,索引为键,data为值。
2.常用的属性与方法
A.获取数据,索引的值,以及每对索引和值键值对。
from pandas import Series
emp=['001','002','003','004','005','006']
name=['亚瑟', '后裔','小乔','哪吒' ,'虞姬','王昭君']
series = Series(data=name,index=emp)
# 获取数据的值
print(series.values)
# 获取索引的值
print(series.index.tolist())
# 获取每对索引和值
print(list(series.items()))
values、index、items返回的对象分别是List、Index、Zip类型的数据,为了方便我们使用和观察数据,可以使用series.index.tolist()和list(series.items())方法转化成List类型。
B.根据索引获取单个数据,多个连续,不连续的数据
from pandas import Series
emp=['001','002','003','004','005','006']
name=['亚瑟', '后裔','小乔','哪吒' ,'虞姬','王昭君']
series = Series(data=name,index=emp)
# 使用索引值获取单个数据
print(series['001'])
# 使用索引值获取多个不连续的数据
print('索引下标',series[['002','004']])
# 使用切片获取连续的数据
print('索引切片',series['001':'004'])
不连续是用 ‘,’区分,双括号,切片是用:区分,单括号
3.遍历Series
# 遍历并拿到data数据
for value in series:
print(value)
# 通过keys(),遍历Series的索引:
# 遍历并拿到index数据
for value in series.keys():
print(value)
# 也可以通过items(),遍历Series的每对索引和数据
# 遍历并拿到每对索引和数据
for value in series.items():
print(value)
四、DataFrame(相当于多个Series)
1.DataFrame的创建
DataFrame(数据表)是一种 2 维数据结构,数据以表格的形式存储,分成若干行和列。类似Excel或者SQL中的表格。
调用DataFrame()可以将多种格式的数据转换为DataFrame对象,它的的三个参数data、index和columns分别为数据、行索引和列索引。
1.默认索引示例:
from pandas import Series,DataFrame
# 创建二维列表存储选手信息
lol_list = [['上单','TheShy',20],
['打野','小天',19],
['中单','Faker',23],
['ADC','Uzi',22],
['辅助','Ming',21]]
# 创建dataframe
df = DataFrame(data=lol_list)
print(df)
运行结果:
2.带索引参数示例:
dic={
'位置': ['上单', '打野', '中单', 'ADC','辅助'],
'ID号': ['TheShy', '小天', 'Faker', 'Uzi', 'Ming'],
'year': [20, 19, 23, 22,21]}
df=pd.DataFrame(dic)
print(df)
运行结果:
3.使用字典创建示例(最好用):
from pandas import Series,DataFrame
import pandas as pd
# 使用字典创建
index_list = ['No1','No2','No3']
dic={
'姓名': Series(['娜娜','淼淼','依依'],index=index_list),
'类型': Series(['可爱单纯','风骚火辣','性感高冷'],index=index_list),
'爱好': Series(['逛街、电影、爱吃甜','喝酒、蹦迪、爱吃辣','看书、烘焙、爱吃酸'],index=index_list),
'时间': Series(['2019-2-14去看电影','2019-2-16去蹦迪','2019-2-18去烘焙'],index=index_list)
}
df=DataFrame(dic)
print(df)