醒醒,别睡了...讲《数据分析pandas库》了—/—<1>

一、了解pandas

        No.1 Pandas 是 Python 语言的一个扩展程序库,用于数据分析,是一个强大的分析结构化数据的工具集,基础是Numpy库,可以去参考前面所讲的课。(提供高性能的矩阵运算

        No.2 应用 :Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据,对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗数据加工特征。

        No.3 数据结构:Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据)

                ● Series:是一种类似于一维数组的对象,它由一组数据(各种 Numpy 数据类型)以及一组与之相关的数据标签(即索引)组成。可以简单看一下下列代码:

                ● DateFrame: 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

        No.4 特点:Pandas 可以让你轻松地处理各种数据结构,尤其是表格型数据,如 SQL 数据库或 Excel 表格。主要特点为:数据结构、数据加载与保存、数据清洗与转换、数据分析与统计、数据可视化

二、运用pandas

1、安装pandas库

        不多说,直接win+R

pip install pandas

2、设定系统环境

        因为我使用的是jupyter notebook(pycharm终端直接输入jupyter notebook+回车),因为jupyter更适合对数据类型的处理,第一次打开需要设定一下系统环境,当然,pycharm也可以敲代码,但是社区版的用不了jupyter。

#导入pandas包
import pandas as pd
#设定页面运行结果最大行数
pd.options.display.max_rows=10
#显示版本号
print(pd.__version__)

3、Series对象创建

        Series:一维数组,Numpy中的一维array类似。它是一种类似于一维数组的对象,是由一组数据(各种 NumPy 数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series 对象。用值列表生成 Series 时,Pandas 默认自动生成整数索引

import pandas as pd
date=pd.Series([45,6,8,6,12,55,6])
#也可以这么写date=pd.Series(list('abcde'))
print(date)

        其打印结果如图所示:

        即生成一个一维数组,前一列为索引,后一列为值

        

        ● date.values:获取值信息

        ● date.index:获取索引信息,即打印索引的始末以及步长

        

        ● 指定index:使用list列表指定index
date1=pd.Series([45,6,8,6,12],index=['one','two','three','four','five'])

          

        ● 传入字典创建,默认将key 作为index,如果 key 不存在,则值为 NaN
#导入一个字典,然后生成一个一维数组,
population=pd.Series({'beijing':10,'shanghai':10,'guangzhou':10})
#通过索引取这个一维数组的值,如果没有这个索引则返回Non
pd.Series(population,index=['shanghai','a'])
             

        将一个标量与index对象一起传入创建

pd.Series(10,list("abcd"))

          

       

4、DateFrame对象的创建

        DataFrame 是 Pandas 中的一个表格型数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等)DataFrame 即有行索引也有列索引,可以被看做是由 Series 组成的字典。将两个series对象作为dictvalue传入,就可以创建一个DataFrame对象。

4.1 观察代码了解DateFrame的用法
#定义两个字典用来存放行数据
popular={'hangzhou':1000,'shanghai':1100,'beijing':1200}
area={'hangzhou':800,'shanghai':900,'beijing':999}
#将两个字典导入Series,将其改编成一维数组类型
a=pd.Series(popular)
b=pd.Series(area)
#将两个一维数组合并起来,并命名字典中值所对应的列名,列名为popular和area
df=pd.DataFrame({"popular":a,"area":b})

        其打印结果为一个列表:

        ● 解析values index columns属性

        以 上部分代码结果 df 为例

df.index:即为这个二维数组的索引名称

df.values: 即返回这个列表所对应值的二维数组:

df.columns:即打印列的信息:

4.2 列表创建

        观察以下代码,稍后再慢慢分析

popular={'hangzhou':1000,'shanghai':1100,'beijing':1200}
area={'hangzhou':800,'shanghai':900,'beijing':999}

pd.DataFrame([popular,area],index=['population','area'])

打印结果为:

这段代码和上面写的基本一致,只不过改了行和列的位置,即导入两个字典,字典键是一样的,如果不一样会增加一列,对应没有的值会返回NaN,然后再使用DateFrame将两个字典写入列表,DateFrame括号内后一部分index行,前一部分为列,将两个字典导入列表写入列表,再以index来命名行的名称

4.3 索引columns的使用

columns顾名思义就是列的意思,在DateFrame中当做属性指定列名来使用

popular={'hangzhou':1000,'shanghai':1100,'beijing':1200}
population=pd.Series(popular)
pd.DataFrame(population,columns=['nihao'])

4.4 二维数组指定columnsindex创建

        先看代码

import numpy as np
pd.DataFrame(np.random.randint(1,100,(4,5)),index=list('abcd'),columns=list('efghi'))

其生成如图所示的4行5列的列表:

解析代码:

np.random.randint(1,100,(4,5))是随机生成1-100的整数,组成4行5列,

index=list('abcd'),columns=list('efghi') 他俩的作用一个是索引名称一个是列名,用列表中的值输出

最后将这两部分放进DateFrame中生成一个带索引名和列名的列表

4.5 取列的方式

        ● df.e :获取列表df中索引列为e的列数据

        ● df['e'] :获取列表df中索引列为e的列数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜就多练_0828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值