Python 常用操作

    xiaoxiao2023-09-25  180

    文章目录

    数值操作*,**,/,//科学计数法,小数位数 数组操作Pandas:DataFrame获得两个数组间的交并补 画图相关画图中文无法显示画布尺寸图例位置 文件操作

    数值操作

    *,**,/,//

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

    科学计数法,小数位数

    round(1.234566778,2) # 1.23 a = 100000000 print('%e' %a) b = [] b.append('%e' %a) # b: ['1.000000e+09']

    数组操作

    Pandas:DataFrame

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

    获得两个数组间的交并补

    交集 # 方法一: 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)))) 并集 print (list(set(aa).union(set(bb)))) # [1, 2, 3, 4, 5, 7] 差集 print (list(set(bb).difference(set(aa)))) # bb中有而aa中没有的 # [3, 7] print(list(set(aa).difference(set(bb)))) # [1]

    画图相关

    画图中文无法显示

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

    画布尺寸

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

    图例位置

    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)

    文件操作

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

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

    其中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)) 给出文件所在的绝对路径 import os abspath = os.path.abspath('d1') print(abspath) 获取当前工作目录,改变工作目录 import os os.getcwd() os.chdir('d1') # 相当于cd d1 多个文件路径组合 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'] import glob 在path路径下,查找与匹配规则匹配的所有文件 def findFiles(path): return glob.glob(path) path = findFiles('Data/Test/*.npy') # 找到给定路径下,后缀名为.npy的所有文件,返回为Data/Test/*.npy形式

    匹配规则:

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

    最新回复(0)