Matpoltlib && Pandas 学习笔记

这篇具有很好参考价值的文章主要介绍了Matpoltlib && Pandas 学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

Matplotlib

matplotlib常用方法

散点图

饼图

直方图

Pandas

pandas.Series(*args)参数说明

DataFrame 数据结构

CSV file

数据清洗


Matplotlib

定义: Matplotlib 是python的绘图库

Pyplot 是其子库,通用绘制2D图表,

matplotlib常用方法
import matplotlib.pyplot as plt

# 常用方法
plot()       # 绘制线图和散点图
scatter()    # 散点图
bar()        # 水平/垂直条形图
hist()       # 直方图
pie()        # 饼图
imshow()     # 绘制图像
subplots()   # 绘制子图

# plot([x],y,[fmt],*,data=None,**kwargs)
x,y        # x,y轴的数据,可以为列表或数组
fmt        # 可选,定义样式[如颜色、标记和样式]
**kwargs   # 二维平面上,设置指定属性,如标签或线的宽度

eg:

plt.plot(np.array([1,3]),np.array([2,4]))
plt.show()

plt.plot(ypoints,marker='o',linestyle='dotted',color='r')  
# marker  o - 点,* - ⭐,

# linestyle(同ls)  param  
solid   # '-'   实线
dotted  # ':'   点虚线
dashed  # '--'  破折线
dashdot # '-.'  点划线

plt.xlable('x-label')  # x轴的标签
plt.ylable('y-label')  # y轴的标签

plt.grid(b=None,which='major',axis='both')   
b        # 默认None,显示网格
which    # 可选 'minor'、'both',默认'major'
axis     # 默认'both',可选'x'或'y'
**kwargs # 可选,如:color='r',linestryle='-',linewidth=2
散点图
scatter()   #  散点图

bar()       # 柱形图
plt.bar(x,height,width=0.8,bottom=None,*,align='centor',data=None,**kwargs)

x           # x轴数据
height      # 柱形图的高度
width       # 柱形图的宽度
bottom      # y左边,默认0
align       # 柱形图与x坐标的对齐方式,centor中心位置,edge对齐左边
饼图
plt.pie(x,explode=None,labels=None,colors=None,autopct=None)

param:
explode   # 各扇形的间隔,默认为0
labels    # 各扇形的标签
autopct   # 设置扇形内各个扇形的百分比,%d%%百分比整数,%0.1f一位小数

eg:
import matplotlib.pyplotas plt
# 数据
sizes =[15,30,45,10]
# 饼图的标签
labels =['A','B','C','D']
# 饼图的颜色
colors =['yellowgreen','gold','lightskyblue','lightcoral']
# 突出显示第二个扇形
explode =(0,0.1,0,0)
# 绘制饼图
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
        autopct='%1.1f%%', shadow=True, startangle=90)
# 标题
plt.title("RUNOOB Pie Test")
# 显示图形
plt.show()
直方图
plt.hist(x,bins=None,range=None,)

param:
x     # 绘制数据,可以是一维数组或列表
bins  # 可选参数,直方图的箱数,默认10
range # 直方图的值范围

eg:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
 
# 使用 NumPy 生成随机数
random_data = np.random.normal(170, 10, 250)
 
# 将数据转换为 Pandas DataFrame
dataframe = pd.DataFrame(random_data)
 
# 使用 Pandas hist() 方法绘制直方图
dataframe.hist()

# 设置图表属性
plt.title('RUNOOB hist() Test')
plt.xlabel('X-Value')
plt.ylabel('Y-Value')

# 显示图表
plt.show()

Pandas

全称: 'panel data' and 'python data analysis'

Analy: Series(一维数据)、DataFrame(二维数据)

主要应用:文章来源地址https://www.toymoban.com/news/detail-820947.html

  • 数据清洗:处理缺失数据、重复数据等
  • 数据转换:改变数据的形状、结构或格式
  • 数据分析: 进行统计、聚合、分组
  • 数据可视化:整合Matplotlib 进行数据可视化
pandas.Series(*args)参数说明
Pandas 数据结构 - Series
特点:
索引:可以是int、str、date等,若无自动创建int 索引
数据类型:通常int、float、str 等

pandas.Series(data, index, dtype, name, copy)

param:
data   #  一组数据(ndarray类型)
index  # 索引标签,若无默认从0开始
dtype  # 数据类型
name   # 名称
copy   # 拷贝数据,默认False

eg1: # 无索引值,从0开始
import pandas as pd
a=[1,2,3]
mystr=pd.Series(a)
print(mystr)  # mystr[2]  输出  2

eg2:  # 设置索引值,列表形式
import pandas as pd
a=['a','b','c']
mystr=pd.Series(a,index=['x','y','z'])
print(mystr)

eg3:  # 索引值,字典形式
import pandas as pd
str_dict={'1':'a','2':'b'}
mystr=pd.Series(str_dict)
DataFrame 数据结构
DataFrame-表格型数据结构
特点:
    行/列:多列中每一列可看作Series,行索引可用标识每一行
    二维结构:视为多个Series对象组成的字典
    列类型结构:可包含不同类型结构:eg:int、float、string
    
pandas.DataFrame(data,index,columns,dtype,copy)

param:
    data      # 一组数据
    index     # 索引
    columns   # 列标签
    dtype     # 数据类型
    copy      # 拷贝数据,默认False      

eg1: # 列表类型
import pandas as pd
data = [['a','1'],['b',2],['c',3]]
df=pd.DataFrame(data,columns=['x','y'],dtype=float)
print(df)

eg2: # ndarrays类型
import pandas as pd
s_dict={'x':['1','2','3'],'y':['a','b','c']}
df=pd.DataFrame(s_dict)
print(df)
# 返回第一行
print(df.loc[0])   # 使用loc属性返回指定行的数据,
# 返回第二行
print(df.loc[1])    # df.loc[0,2] 返回1和3行的数据

eg3: # dict类型
import pandas as pd
data=[{'a':1,'b':2},{'a':'x','b':'y'}]
df=pd.DataFrame(data)
print(df)

# 输出
   a  b
0  1  2
1  x  y
CSV file
CSV  [Comma-Separated Values,逗号分隔值] # 以纯文本形式存储表格数据

pd.read_csv('file')  # 获取文件数据

eg:
import pandas as pd
df = pd.read_csv('test.csv')
print(df.to_string())   # to_string 可显示全部数据,避免用 ... 代替

df.to_csv('test.csv')  # 将读取的文件保存到csv文件
df.head(n)             # 获取前n行数据   同  tail(n)  用法
注:当无参数是默认前5行或后5行
df.info                # 返回表格的基本信息

pd.json_normalize(data,record_path=['students'])  # 完整解析数据
数据清洗
# 数据清洗:如数据缺失、数据格式错误、错误数据或重复数据
dropna()          # 方法
DataFrame.dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)
param:
    axis      # 默认为0,表示遇到空值删除整行,若设置为1,删除整列
    how       # 默认为any,遇到NA删除整行,若设置为all删除整列
    thresh    # 设置需要多少非空值的数据才可以保留
    subset    # 设置想要检查的列,若多列使用列名的list做参数
    inplace   # 如果设置True,将计算的值覆盖源数据并返回None
    
eg1:  # 将指定类型数据指定为空数据类型
import pandas as pd
missing_values=['n/a','na','--']
df=pd.read_csv('test.csv',na_values=missing_values)
print(df['key1'])
print(df['key1'].isnull())   # 返回每行数据的bool值

eg2:  # 删除包含空数据的行
import pandas as pd
df= pd.read_csv('test.csv')
new_df=df.propna()          #  若设置 inplace=True 会修改源数据,若设置 subset=['key1']  会移除该列为空的行
print(new_df.to_string())  

df=fillna(123,inplace=True) # 用123替换空字段
df['pid']=fillna(123,inplace=True) # 用123替换pid为空的数据

mean()      # 平均值
median()    # 中位数值
mena()      # 众数

# 清洗格式错误数据,如时间

data = {
    'date':['2023/12/01','2023/12/02','20231203']
    'duration':[50,40,3000]
}
df= pd.DataFrame(data,index=['1','2','3'])

df['date']=pd.to_datetime(df['date'])   # 清洗格式问题

# df.loc[2,'duration']=30     # 修改数据
# 将duration大于40的值设置为40
for x in df.index:
    if df.loc[x,'duration']>40:
        df.loc[x,'duration']=40   # 修改值,若删除需执行  df.drop(x,inplace=True)


print(df.to_string())

df.duplicated()  # 清洗重复数据,打印其每行的bool值
df.drop_duplicates()  # 删除重复数据

到了这里,关于Matpoltlib && Pandas 学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习笔记 - 数据科学中基于 Scikit-Learn、Tensorflow、Pandas 和 Scipy的7种最常用的特征工程技术

            特征工程描述了制定相关特征的过程,这些特征尽可能准确地描述底层数据科学问题,并使算法能够理解和学习模式。换句话说:您提供的特征可作为将您自己对世界的理解和知识传达给模型的一种方式。         每个特征描述一种信息“片段”。这些部分的

    2024年02月10日
    浏览(39)
  • pandas笔记

    如读取前13列所有行的值 原表格的第一行是统计的行数和列数,剩下的是空值,读取之后变成了 unnamed: 使用如下代码去掉原文件的第一行

    2024年02月08日
    浏览(33)
  • pandas 笔记:高亮内容

     1.1.1 默认情况 1.1.2  color 调整高亮的颜色(后同)  1.1.3 subset 指定操作的列(后同) 1.1.4 props  突出显示的CSS属性(后同)   subset color props 同1.1 2.1.1 axis 默认为0,表示列 axis=1,表示行  axis=None, dataFrame中最大的那个 参数和使用方法和max一样 2.2.1 链式调用min和max 还是使用

    2024年02月15日
    浏览(36)
  • pandas笔记:groupby整理

    按照Type 聚类,聚类后将同组的Kg属性合并,求均值 聚合的内容可以是 max, min, mean, unique(唯一值), nunique(唯一值数量),lambda 表达式       按照Type 聚类,聚类后将同组的Kg、Depth属性合并,求均值   重命名的名字=(需要操作的列名,需要的操作名)       参考内容:

    2024年02月16日
    浏览(40)
  • 【Python数据处理】-Pandas笔记

    Pandas是一个强大的Python数据处理库,它提供了高效的数据结构和数据分析工具,使数据处理变得简单而快速。本篇笔记将介绍Pandas中最常用的数据结构——Series和DataFrame,以及数据处理的各种操作和技巧。 (一)创建Series Series是Pandas中的一维数组,类似于带有标签的NumPy数组

    2024年02月12日
    浏览(44)
  • 解决pandas读取csv、tsv文件出现错误《ParserError: Error tokenizing data. C error: Expected 1 fields in line...》

    读取文件方式改为 出错,ParserError: Error tokenizing data. C error: Expected 1 fields in line… 将读取方式改为 OK,问题解决! read_csv()是Pandas库中用于读取CSV文件的函数,其常用参数如下:

    2024年02月11日
    浏览(50)
  • 讲课笔记03:数据分析工具Pandas

    2023年06月26日
    浏览(125)
  • pandas笔记(一)-- 大的国家(逻辑索引、切片)

    如果一个国家满足下述两个条件之一,则认为该国是 大国 : 面积至少为 300 万平方公里 人口至少为 2500 万 编写解决方案找出 大国 的国家名称、人口和面积 按 任意顺序 返回结果表,如下例所示 输入: name continent area population gdp Afghanistan Asia 652230 25500100 20343000000 Albania Eur

    2024年03月09日
    浏览(43)
  • pandas基础学习

      pandas是python中专门专门用于数据处理和数据分析的第三方库。 pandas常用的基本功能如下: 从Excel、CSV、网页、SQL、剪切板等文件或工具中读取数据 合并多个文件或电子表格中的数据,将数据拆分为独立的文件 数据清洗、如去重、处理缺失值、填充默认值、补全格式,处

    2024年02月08日
    浏览(33)
  • pandas学习

    (个人学习使用)  

    2024年02月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包