python pkl文件_Python字符串格式化输出的方式包括

python pkl文件_Python字符串格式化输出的方式包括1.pkl文件pkl文件是python里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西(二进制文件)。常用于保存神经网络训练的模型或者各种需要存储的数据。保存神经网络训练模型举例(使用pytorch进行保存)保存整个网络:torch.save(net,‘net.pkl’)保存网络的状态信息:torch.save(net.state_dict(),‘net_params.pkl’)提取神经网络的方法:torch.load(‘net.pkl’)存储数据举例importpan

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.pkl文件

pkl文件是python里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西(二进制文件)。
常用于保存神经网络训练的模型或者各种需要存储的数据。

  1. 保存神经网络训练模型举例(使用pytorch进行保存)
    保存整个网络:torch.save(net, ‘net.pkl’)
    保存网络的状态信息:torch.save(net.state_dict(), ‘net_params.pkl’)
    提取神经网络的方法:
    torch.load(‘net.pkl’)
  2. 存储数据举例
import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(20).reshape(4,5))
df.to_pickle('foo.pkl')
data=pd.read_pickle('foo.pkl')
print(data)

输出为:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19

2.pickle库对文件进行写入,读取操作

  1. 写入pkl文件
import pickle
#wb是覆盖写,如果需要追加,则为‘ab'
f = open('data.pkl','wb')
#待写入数据
datas = { 
   'name':'Bruce','age':25,'high':175}
#写入
data= pickle.dump(datas,f,-1)
#关闭文件
f.close()
  1. 读取.pkl文件
f = open('data.pkl','rb')
#使用load的方法将数据从pkl文件中读取出来
pickle.load(f)
#关闭文件
f.close()

3.pandas库对文件进行写入,读取操作

  1. 写入.pkl文件:

使用DataFrame的to_pickle就可以生成pickle文件,因此如果需要存储其他类型的数据将其转化为DataFrame即可存取,例如将dict类型数据保存在.pkl文件中

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(20).reshape(4,5))
#使用DataFrame的to_pickle就可以生成pickle文件
df.to_pickle('data.pkl')
#通过字典创建数据
dic={ 
   'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}
df2 = pd.DataFrame(dic,index=["a","b","c"])
df2.to_pickle('data2.pkl')
  1. 读取.pkl文件:
data=pd.read_pickle('data.pkl')
data2=pd.read_pickle('data2.pkl')
print('data:\n',data)
print('data2:\n',data2)

输出为

data:
     0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19
data2:
    A  B  C
a  1  4  7
b  2  5  8
c  3  6  9

4.pandas库常用函数及其作用

  1. loc和iloc(截取特定数据)
    https://blog.csdn.net/qq1483661204/article/details/77587881
    https://blog.csdn.net/htbeker/article/details/80332360
    除了通过标签和索引进行选择某一行(列)或者区域的数据,还可以完成符合条件的数据选取。

1.根据指定的索引列表查找

import pandas as pd
dic={ 
   'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}
df = pd.DataFrame(dic,index=["a","b","c"])
print('data:\n',df)
ids=[0,2]
data=df.iloc[ids]
print('choose\n',data)

data:
    A  B  C
a  1  4  7
b  2  5  8
c  3  6  9
choose
    A  B  C
a  1  4  7
c  3  6  9

2.根据指定的**行列标签(不是索引)**进行查找

import pandas as pd
dic={ 
   'A':[1,2,3],'B':[4,5,6],'C':[7,5,7]}
df = pd.DataFrame(dic)
print('data:\n',df)
data=df.loc[0,'A']
print(data)
dic1={ 
   'A':[1,2,3],'B':[4,5,6],'C':[7,5,7]}
df1 = pd.DataFrame(dic1,index=['a','b','c'])
print('data:\n',df1)
data1=df1.loc['a','A']
print(data1)
data:
    A  B  C
0  1  4  7
1  2  5  5
2  3  6  7
1
data:
    A  B  C
a  1  4  7
b  2  5  5
c  3  6  7
1

3.根据判断条件查找

dic1={ 
   'A':[1,2,3],'B':[4,5,6],'C':[7,5,7]}
df1 = pd.DataFrame(dic1,index=['a','b','c'])
print('data:\n',df1)
print('-------------------')
data1=df1.loc[df1['B']==4,'C']
print(data1)
data:
    A  B  C
a  1  4  7
b  2  5  5
c  3  6  7
-------------------
a    7
Name: C, dtype: int64
  1. .unique(去除重复元素,行列写法不同)
import pandas as pd
dic={ 
   'A':[1,2,3],'B':[4,5,6],'C':[7,5,7]}
df = pd.DataFrame(dic,index=["a","b","c"])
print('data:\n',df)

print('\n.unique:(列)\n',df['C'].unique())
#.loc默认逗号分隔,逗号前是行,逗号后是列
print('\n.unique:(行)\n',df.loc['b'].unique())
print('\n.unique:(列)\n',df.loc[:,'C'].unique())
data:
    A  B  C
a  1  4  7
b  2  5  5
c  3  6  7

.unique:(列)
 [7 5]

.unique:(行)
 [2 5]

.unique:(列)
 [7 5]
  1. set_index和reset_index(设置索引)
    https://blog.csdn.net/jingyi130705008/article/details/78162758
  2. drop(删除数据)
    https://www.cnblogs.com/wodexk/p/10316674.html
  3. .merge(DataFrame对象拼接)
    https://blog.csdn.net/brucewong0516/article/details/82707492
  4. Series(常用数据结构)
    pandas两个主要的数据结构:Series和DataFrame。
    Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。
from pandas import Series,DataFrame
data = Series([9,23,3,56])
print(data)

输出索引在左,数值在右。在没有指定具体的索引时,则自动创建一个0~N-1的整数型索引

0     9
1    23
2     3
3    56
dtype: int64

可以通过Series的values和index属性获取数组的值和索引

print('data.values',data.values)
print('data.index',data.index)
data.values [ 9 23  3 56]
data.index RangeIndex(start=0, stop=4, step=1)

pandas的isnull和notnul或者实例方法data.isnull()可用于检测缺失数据:

import pandas as pd
from pandas import Series,DataFrame
dict={ 
   'a':1000,
      'b':900,
      'c':800}
data=Series(dict)
index=['a','b','d']
#根据字典和给出的索引创建Series
data2=Series(dict,index)
print('-'*20)
print('data\n',data)
print('-'*20)
print('data2\n',data2)
print('-'*20)
print('isnull\n',pd.isnull(data2))
print('-'*20)
print('notnull\n',pd.notnull(data2))
print('-'*20)
print('data2.isnull\n',data2.isnull())
--------------------
data
 a    1000
b     900
c     800
dtype: int64
--------------------
data2
 a    1000.0
b     900.0
d       NaN
dtype: float64
--------------------
isnull
 a    False
b    False
d     True
dtype: bool
--------------------
notnull
 a     True
b     True
d    False
dtype: bool
--------------------
data2.isnull
 a    False
b    False
d     True
dtype: bool

参考链接:
https://zhuanlan.zhihu.com/p/32190141

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195550.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 长轮询的使用实现_python 轮询

    长轮询的使用实现_python 轮询轮询(Polling):是指不管服务器端有没有更新,客户端(通常是指浏览器)都定时的发送请求进行查询,轮询的结果可能是服务器端有新的更新过来,也可能什么也没有,只是返回个空的信息。不管结果如何,客户端处理完后到下一个定时时间点将继续下一轮的轮询。长轮询(LongPolling):长轮询的服务其客户端是不做轮询的,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到…

    2022年10月14日
  • idea安装mybatis插件_maven 插件

    idea安装mybatis插件_maven 插件MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setP

    2022年9月26日
  • linux用命令dpkg,Linux中dpkg命令起什么作用呢?

    linux用命令dpkg,Linux中dpkg命令起什么作用呢?摘要:下文讲述Linux中dpkg的功能说明,如下所示;dpkg是(Debianpackage英文的缩写)dpkg命令功能:用于管理DebianLinux中的包管理(安装,创建,管理软件)的一种实用性工具dpkg命令的语法格式:dpkg[参数]—–常用参数说明——-i:安装软件包-r:删除软件包-l:输出已安装软件包列表-L:输出于软件包关联的文件-c:输出软件包内文件列表–…

    2022年5月21日
  • 支持向量机通俗导论(理解SVM的三层境地)

    支持向量机通俗导论(理解SVM的三层境地)

    2021年12月16日
  • 使用Keras实现 基于注意力机制(Attention)的 LSTM 时间序列预测

    时隔半年多,毕设男孩终于重操旧业,回到了LSTM进行时间序列预测和异常检测的路上。如果有阅读过我之前的博客,可以发现使用LSTM作单类的时间序列异常检测也是基于对于时间序列的预测进行登堂入室LSTM:使用LSTM进行简单的时间序列异常检测本次我们要进行的是使用注意力机制+LSTM进行时间序列预测,项目地址为KerasAttentionMechanism首先我们把它git…

    2022年4月6日
  • linux将目录移动到指定目录下_shell获取文件所在路径

    linux将目录移动到指定目录下_shell获取文件所在路径摘要腾兴网为您分享:第七应用,flash29,信息来电闪光灯,优惠购,实况足球2018,汕大附一,同学聚会简单通知书,cajviewer,惠普deskjet1010,英魂之刃,运动世界,建行大学,爱奇艺会员,sketchup渲染器,电脑尺子,中俄边境游,山东政务服务网等知识经验教程,欢迎大家关注腾兴网。linux系统下,用户根据需求来进行各项操作,有小伙伴想移动文件,操作起来不大容易,linux…

    2022年10月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号