程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python 常用操作

发布于2019-08-15 11:58     阅读(594)     评论(0)     点赞(3)     收藏(0)


版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Siyuada/article/details/90543301

数值操作

*,**,/,//

* 代表乘法,向量对应位置相乘
** 代表乘方 eg. 2 ** 5=32
/ 除法
// 除法后取整

科学计数法,小数位数

round(1.234566778,2)
# 1.23
a = 100000000
print('%e' %a)
b = []
b.append('%e' %a)
# b: ['1.000000e+09']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

数组操作

Pandas:DataFrame

  1. iloc:即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5]
  2. loc,则可以使用column名和index名进行定位,如:
    df.loc[‘image1’:‘image10’, ‘age’:‘score’]

获得两个数组间的交并补

  1. 交集
# 方法一:
aa=[1,2,4,5]
bb=[2,3,5,7,4,2]
inter = [t for t in aa if t in bb]
print(inter)
# [2, 4, 5]
 
# 方法二
print (list(set(aa).intersection(set(bb))))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  1. 并集
print (list(set(aa).union(set(bb))))
# [1, 2, 3, 4, 5, 7]
  • 1
  • 2
  1. 差集
print (list(set(bb).difference(set(aa)))) # bb中有而aa中没有的
# [3, 7]
print(list(set(aa).difference(set(bb))))
# [1]
  • 1
  • 2
  • 3
  • 4

画图相关

画图中文无法显示

#解决中文显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
  • 1
  • 2
  • 3

画布尺寸

plt.figure(figsize=(14.4, 9))
  • 1

图例位置

import matplotlib.pyplot as plt
import numpy as np

X=np.linspace(-np.pi,np.pi)
Y=np.cos(X)
Y1=np.sin(X)
#增加label
plt.plot(X,Y,label="Cos(X)")
plt.plot(X,Y1,label="Sin(X)")
#指定图例位置,1右上角,2左上角,3右下角,4左下角,0自动适应图像
plt.legend(loc=0)
plt.show()

# 也可以直接指定图例
plt.legend(['Cos(X)',"Sin(X)"], loc=2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

文件操作

很多时候涉及到对文件夹下所有文件的操作,如何拿到所有的文件名,得到所有的文件路径,是首要解决的问题。
以及在程序内对文件夹进行新建/删除
两种常用方法

  • import os, shutil
  1. 创建文件夹
import os
os.mkdir('dir1')
os.mkdir('dir1/dir3')
# 一次只能生成一个文件夹
  • 1
  • 2
  • 3
  • 4
  1. 删除文件夹
# 1.删除单个空文件夹
os.rmdir('d1/d2')
# 2.删除多个非空文件夹,d2空则删除,并递归到上一级,若也为空则d1也被删除
os.removedirs('d1/d2')
# 3.删除文件夹中文件
os.remove('d1/a.txt')
# 似乎只能先一个个循环移除文件,然后删除空文件夹
# 另一种删除的方式,删除该文件夹里所有
import shutil
# 该库中还有很多实用函数,不一一介绍
shutil.rmtree('d1')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  1. 重命名文件夹
import os
import shutil
# os.rename("old_name", "newname")
os.rename('d1/a.txt', 'd1/b.txt')
shutil.move('d1/a.txt', 'd1/b.txt')
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 列出指定目录下的所有文件和子目录名称,以list格式打印
  • 给出该目录下的文件和子目录名称
import os
path = os.listdir('d1')
print(path)
  • 1
  • 2
  • 3
  • 若还想递归子目录中的所有文件
import os
path = 'd1'
for dirpath, dirname, filenames in os.walk(path):
	print(dirpath, dirname, filenames)
  • 1
  • 2
  • 3
  • 4

其中dirpath为目录的路径,dirname为该目录下子目录的名称,filenames为该目录下的所有文件名称。

  • 获得一个路径下所有的文件路径名称:
import os
path = 'd1'
for dirpath, dirname, filenames in os.walk(path):
	for filename in filenames:
		print(os.path.join(dirpath,filename))
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 给出文件所在的绝对路径
import os
abspath = os.path.abspath('d1')
print(abspath)
  • 1
  • 2
  • 3
  1. 获取当前工作目录,改变工作目录
import os
os.getcwd()
os.chdir('d1') # 相当于cd d1
  • 1
  • 2
  • 3
  1. 多个文件路径组合
import os
path = os.listdir('d1')
[os.path.join('d1/', path[i]) for i in range(len(path))]
# ['d1/b.txt', 'd1/d2', 'd1/新建 Microsoft Excel 工作表.xlsx']
  • 1
  • 2
  • 3
  • 4
  • import glob
  1. 在path路径下,查找与匹配规则匹配的所有文件
def findFiles(path): return glob.glob(path)
path = findFiles('Data/Test/*.npy')
# 找到给定路径下,后缀名为.npy的所有文件,返回为Data/Test/*.npy形式
  • 1
  • 2
  • 3

匹配规则:

* : 匹配所所有
? : 匹配一个字符
*.* : 匹配如:[hello.txt,cat.xls,xxx234s.doc]
?.* : 匹配如:[1.txt,h.py]
?.gif: 匹配如:[x.gif,2.gif]
如果没有匹配的,glob.glob(path)将返回一个空的list:[]



所属网站分类: 技术文章 > 博客

作者:787sds

链接:https://www.pythonheidong.com/blog/article/36003/4071960ab6d7fba9cf9a/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)