pandas_matplotlib数据分析与数据可视化第三方库

#检查配置环境
pip show numpy

pip show pandas

pip show matplotlib

 

 

一、Pandas数据分析

pandas 是一种基于Numpy的开源的数据分析工具包,提供了高性能、简单易学的数据结构和数据分析函数。

1、Series对象

(1)定义和创建

(2)数据访问

(3)常用方法

(1)定义和创建

        series对象是一种带有标签数据的一维数组,标签在Pandas中有对应的数据结构类型“Index”,series;类似于一维数组与字典的结合。

#导入库 
import numpy as ny  #导入科学计算库numpy  别名np
import pandas as pd  #数据分析库Pandas  别名pd
import matplotlib.pyplot as plt            #数据可视化库matplotlib里面的绘图模块pyplot 别名plt
pd.Series([45,89,31,65,32],index = ['a','b','c','d','e'])    
#用一堆数组定义Series对象,默认标签为 0 ,1 ,2 ,但也可以自己定义

pd.Series([45,89,31,65,32],index = list('acefd')) 
str = 'tangmeilin'
list(str) #将字符串强行转化成列表类型

names = ['aa','cc','dd','ff','ee']
ages = [54,98,65,32,21]

pd.Series(ages,names)

data_0 = pd.Series({'aa':54,'cc':98,'dd':65,'ff':32,'ee':21})
data_0

(2)数据访问
data_0.index  #根据属性访问标签

data_0.values #根据属性访问标签

data_0.ndim   #维度

 

data_0.shape     #形状返回的式元组

 

data_0.size    #个数

 

data_0.keys() #用字典keys()访问标签

 

list(data_0.items())  #用items()方法访问标签

 

data_0.sort_index()  #根据对象标签排序 , 但不改变原始数据的顺序

 

data_0.sort_values(ascending=False) #根据对象的数据值排序,默认为升序ascending=False为降序

 

data_0.rank()

2、DataFrame对象

(1)定义和创建

(2)数据访问

(3)常用方法

(4)常见操作

 

(1)定义和创建

        DataFrame 可以看作是一种既有行索引,又有列索引的二维数组,类似于Excel表或关系型数据库中的二维表,是Pandas中最常用的基本结构。

numbers =[1,2,3,4,5]
names = ['aa','cc','dd','ff','ee']
ages = [54,98,65,32,21]
classes = ['1班','2班','3班','4班','5班']

s_0 = pd.Series(numbers)
s_1 = pd.Series(names)
s_2 = pd.Series(ages)
s_3 = pd.Series(classes)

print(s_0)   #直接从内存中读取数据,没有对外输出,会被后面的输出数据覆盖
s_0
print(s_1)   #将数据输出到客服端
s_1
print(s_2)   #直接从内存中读取数据,没有对外输出,会被后面的输出数据覆盖
s_2
print(s_3)   #直接从内存中读取数据,没有对外输出,会被后面的输出数据覆盖
s_3

print(pd.DataFrame({'学号':s_0,'姓名':s_1,'年龄':s_2,'班级':s_3}))  #用对象创建DataFrame对象
data_2 = pd.DataFrame({'学号':numbers,'姓名':names,'年龄':ages,'班级':classes},index = list('abcde'))  
data_2                                                         
#用数组创建

       (2)数据访问
data_2

data_2[['姓名','学号']]

data_2.姓名

data_2['姓名']['c']  #根据具体的行列名称访问

data_2.loc['c','姓名']   #显式索引 :根据行列名称访问,行在前列在后

data_2.iloc[0:3,1:3]

(4)常见操作

 (1)Pandas中的缺失值处理
 (2)Pandas中的分组操作
 (3)Pandas中的数据合并操作

P287 12.10

#导入库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data_1 = pd.read_excel('../Stu_pack/pandas/exer_1.xlsx',skiprows = 1)       #读取数据文件
data_2 = pd.read_excel('../Stu_pack/pandas/exer_2.xlsx',skiprows = 1)
data_1
data_2

# data_3 = pd.merge(data_1,data_2)       #根据相同列名合并数据
# data_3

data_1.join(data_2.set_index('姓名'),on = '姓名')

#(2)实现按总分或语文、数学、英语单科成绩从高到低排序的功能
def sort(df,col):
   ss = df.sort_values(by = col,ascending=False)        #将DataFrame对象DF按照某列的数值排序,默认为升序,将ascending设置为False降序(从高到低)
   return ss
col = input('请输入您要排序的列名:')
sort(data_3,col)                   #调用函数,将实参传递给形参

#(3)打印所有存在不及格科目(单科<60分)的学生记录

data_3[(data_3['语文']<60)| (data_3['数学']<60)|(data_3['英语']<60)]

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

t_RNA_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值