ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pandas模块

2021-10-16 18:33:37  阅读:154  来源: 互联网

标签:模块 Series price 索引 pd 数据 pandas


pandas模块

  • 小练习
  • pandas模块简介
  • 数据类型Series
  • 缺失数据概念

小练习

1.计算数组每一行的平均值和每一列的最小数(不能使用axis参数)

# 调用模块
import numpy as np
# 构造数组
a=np.array([[ 80.5, 60., 40.1, 20., 90.7],
       [ 10.5, 30., 50.4, 70.3, 90.],
       [ 35.2, 35., 39.8, 39., 31.],
       [91.2, 83.4, 85.6, 67.8, 99.]])
# 构造单位
b=[]
# 循环获取数据
for i in a:
    # 获取平均值
    b.append(np.average(i))
print(b)
# 构造列表
d=[]
# 循环获取数据
for i in range(a.shape[1]):
    # 获取最小值
    d.append(np.min(a[:,i]))
# 输出数据
print(d)

2.jason有10000块钱,去某赌场嗨皮
假设输赢概率都是50%,并且赢一场赚100,输一场亏100
jason总共玩了1500场,写程序计算1500场之后jason还剩多少钱
并将获得财产可视化

# 调用模块
import random
import matplotlib.pyplot as plt
# 生成钱
money=10000
# 记录变量
package=[]
# 循环1500次
for i in range(1500):
    # 赢钱或输钱
    pay=random.choices([-100,100])
    # 最后财产
    money+=pay[0]
    package.append(money)
print('最后:%s'%money)
# x轴与y轴坐标数据
plt.plot(range(1500),package)
# 显示图像
plt.show()    

 

pandas模块简介

pandas模块作用

基于Numpy构建,pandas的出现,让Python语言成为使用最广泛而且最强大的数据分析语言
pandas针对表格文件的操作有非常大的优势,尤其是数据量超过10万的

pandas的主要功能

1.具备诸多功能的两大数据结构: 

  Series和DataFrame都是基于Numpy构建出来的
  公司中使用频繁的是DataFrame,而Series是构成DataFrame的基础,即一个DataFrame可能由多个Series构成

2.集成时间序列功能

3.提供丰富的数学运算和操作(基于Numpy)

4.灵活处理缺失数据

pandas的安装和导入

python的开发环境

pip3 install pandas

anaconda环境

conda install pandas

# anaconda已经自动下载好了数据分析相关的模块,无需再下载

导入

import pandas
import pandas as pd  # 推荐起一个别名pd,方便使用

补充:

'''
数据分析三剑客模块使用频率很高,所以在很多ipynb文件的开头尽量提前导入
'''

 

数据类型Series

类似于一维数组对象,由数据和相关的标签(索引)组成

1.

import pandas as pd
pd.Series([1,2,3,4,5])

 2.

pd.Series([1,2,3,4,5],index=('a','b','c','d','e'))

 3.

pd.Series({'a':1,'b':3})

 4.

pd.Series(0,index=['a','b','c'])

 

缺失数据概念

在数据处理中如果遇到NaN关键字那么意思就是缺失数据,并且NaN属于浮点型

为什么会出现数据缺失

因为新的索引标签,无法与旧的序偶印标签对应所以产生缺失

# 定义字典
a={'j':1,'e':2,'a':5,'k':6}
# 定义新索引
new={'k','j','a','b'}
# 修改索引
d=pd.Series(a,index=new)
print(d)

相关方法

dropna():过滤掉值为NaN的行

d.dropna()

 fillna():填充缺失数据

d.fillna(4)

 isnull():判断为缺失数据,返回布尔数组

d.isnull()

notnull():判断为不缺失数据, 返回布尔数组

d.notnull()

数据修改规则

如何判断当前数据是否改变
  1.如果执行操作之后有结果说明原数据没有变

d.fillna(4)

  2.如果执行操作之后没有结果说明原数据改变

# inplace=True该参数很多方法都有 意思就是直接改变原数据
d.fillna(4,inplace=True)
d

 

布尔值索引

布尔值索引的本质就是按照对应关系筛选出True对应的数据

数据准备

mask = pd.Series([True,False,False,True,False])
price = pd.Series([321312,123,324,5654,645])

逻辑索引

price>500

 

输出price中值大于500的数

price[price>500]

输出price中大于500和小与1000的数

price[(price>500)&(price<1000)]

"""
针对&符号链接的条件都必须要加括号
"""

结论:

'''布尔值索引,True输出,False不输出'''

补充:

price[mask]

price|mask

 

行索引\行标签

数据准备

f=pd.Series([1,2,3,4,5],index=('a','b','c','d','e'))

 

行索引取值

f.iloc[0]

 

标签取值

f.loc['a']

返回目录

标签:模块,Series,price,索引,pd,数据,pandas
来源: https://www.cnblogs.com/20wod/p/15406169.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有