pandas简介

Pandas是Python数据分析的重要工具,提供高效的数据处理功能。它包含Series和DataFrame两种核心数据结构。Series类似一维数组,允许自定义索引;DataFrame则是一个二维表格,由行索引和列索引及数据内容构成。创建Series时,数据和索引是可定制的,字典的键和值分别对应索引和数据。DataFrame由多个Series组成,字典的键成为列索引,用于构建二维表格。
摘要由CSDN通过智能技术生成


数据分析的流程:

设定问题—》获取数据—》整理及清洗数据—》数据分析及可视化—》建立模型(预测性的分析)—》撰写报告

简介

Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

作用:数据读写;数据整理;数据分析。利用Pandas进行数据操作、预处理、清洗是Python数据分析中的重要技能。

数据结构

不管是Excel还是数据库他们存储数据的方式都是以表格样式进行存储,有行、有列,并且每一行和每一列都有自己的索引,方便我们获取数据。每一行的数据其实就是我们存储的一条数据信息。

Pandas的DataFrame的结构就和他们相同,Series的结构和表中的行的结构相同。

# 导入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)
      0    1   2       3  4
0  1001   鲁班  18  150.00  男
1  1002   小乔  19  167.00  女
2  1003   关羽  30  180.00  男
3  1004  蔡文姬  20  160.00  女
4  1005  兰陵王  22  165.00  男

整个数据被分为三部分:行索引(index),列索引(columns)及数据内容(data)。行、列索引的值在没有自定义的时候,会被默认设置上0-N的值,索引的作用就是为了更好的认知和查询数据。

Series的创建

Series是Pandas中最基本的对象,Series类似一种一维数组。事实上,Series 基本上就是基于 NumPy 的数组对象来的。和 NumPy 的数组不同,Series 能为数据自定义标签,也就是索引(index),然后通过索引来访问数组中的数据。

# 导入Series
from pandas import Series,DataFrame

# 创建Series,使用默认索引
sel =  Series(data=[1,'开开心心',20,'高高兴兴']) # Series(data,index)
print(sel)
0       1
1    开开心心
2      20
3    高高兴兴
dtype: object

一个Series其实就是一条数据,Series方法的第一个参数是data,第二个参数是index(索引),如果没有传值会使用默认值(0-N)递增。

# 导入Series
from pandas import Series,DataFrame

# 创建Series,使用自定义索引
sel =  Series(data=[1,'小明',20,'各科全面发展'],
              index = ['排名','姓名','年龄','评语']) # index参数是我们自定义的索引值,注意:参数值的个数一定要相同
print(sel)
排名         1
姓名        小明
年龄        20
评语    各科全面发展
dtype: object
# 在创建Series时数据并不一定要是列表,也可以将一个字典传进去。
from pandas import Series,DataFrame

# 将字典转换为Series
dic={"排名":1,"姓名":'小明',"年龄":20,"评语":'各科全面发展'}
se2=Series(data=dic)
print(se2)
print(type(se2))
排名         1
姓名        小明
年龄        20
评语    各科全面发展
dtype: object
<class 'pandas.core.series.Series'>

从运行结果可看出,字典的键将成为索引,字典的值是索引对应的值。

综上可以看出,Series是一组带索引数组,与list相似,一般我们用其承装一条数据或者一行数据。多个Series可组成一个DataFrame。

DataFrame的创建

DataFrame(数据表)是一种 2 维数据结构,数据以表格的形式存储,分成若干行和列。

调用DataFrame()可以将多种格式的数据转换为DataFrame对象,它的的三个参数dataindexcolumns分别为数据、行索引和列索引。DataFrame的数据结构类似Excel。

from pandas import DataFrame
stu_list=[['bai',24,90],
          ['jia',23,99],
          ['hei',23,87]]
df=DataFrame(data=stu_list)
df
012
0bai2490
1jia2399
2hei2387
from pandas import DataFrame
stu_list=[['bai',24,90],
          ['jia',23,99],
          ['hei',23,87]]
index = [1001,1002,1003]
column = ['name','age','grade']
df=DataFrame(data=stu_list,index=index,columns=column) # 自定义行索引与列索引
df
nameagegrade
1001bai2490
1002jia2399
1003hei2387
# 通过字典创建DataFrame
from pandas import DataFrame
stu_dic={'name':['bai','jia','hei'],
          'age':[24,23,23],
          'grade':[90,99,87]}
index = [1001,1002,1003]
df=DataFrame(data=stu_dic,index=index) # 自定义行索引与列索引
df
nameagegrade
1001bai2490
1002jia2399
1003hei2387

字典的键将作为列索引,字典的值将作为一列数据传入

# 渣男备忘录
from pandas import Series,DataFrame
import pandas as pd
index_list=['No1','No2','No3']
dic={
    '姓名': Series(['娜娜','喵喵','汪汪'], index=index_list), # 将表格中每一列创建为Series,作为字典的值
    '性格': 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)
     姓名    性格         爱好             安排
No1  娜娜  可爱单纯  逛街、电影、爱吃甜  2019-2-14去看电影
No2  喵喵  风骚火辣  喝酒、蹦迪、爱吃辣   2019-2-16去蹦迪
No3  汪汪  性感高冷  看书、烘焙、爱吃酸   2019-2-18去烘焙
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值