Python处理技巧

131 阅读2分钟

本文记录PhD期间python coding 中遇到的问题以及解决方法

**1. 在script里面运行python文件,需要再次在此python文件中,再次加载Import的module. 例子: **

    import os
    os.system('python file_name')

2. 用字典链接两个列表

比如我有如下两个列表:
    Name = ['a','b','c','d','e']
    Val = [1,2,3,4,5,6,7]
如果我想要把Val这个列表对应到元素'c'上, 换句话说就是创建一个名为c的列表,列表内容是val。
由于初学python,最先想到的是:
    c = Val or Name[2] = Val
这两者的逻辑都是不对的.
正确的做法是运用字典的key:
    data_dict={}
    data_dict[Name[2]] = Val 
这才能把两个列表链接起来。

3.如何在bash脚本中调用处于非当前路径(环境变量中)的python脚本

有两种方法: 第一种

#将python脚本copy到当前目录下
#!/bin/bash 
python python.py 

第二种

#在.sh脚本内部把.py脚本的环境变量重新赋值一遍
export PATH=$PATH:/path/to/module/

在使用DataFrame.sum()的时候

在使用这个命令后,得到的数据类型仍为Serial.若只想得到数字,则 需要将Serial取个值例如:
serial.values()

pandas读入CSV后出现unnamed的列怎么办?

df = pd.read_csv(data,index_col=0)

用index_col=0取消掉注释列

将DF显示完整

显示所有列 pd.set_option('display.max_columns', None)
显示所有行 pd.set_option('display.max_rows', None)

正则表达式搜寻文件名结构 比如想要模糊搜寻'r18_rec.xyz' 这个文件名

则可以用 re.search(pattern,file)的命令来进行模糊匹配,具体代码如下:
a = [file for file in os.listdir() if re.search(r'r\d+_rec.xyz',file)][0]
这里的Pattern就是普通字符r, 一个或多个数字\d+,普通字符_rec.xyz

Matplotlib几个label的字体大小到底如何改 首先要么就是

plt.rcParams.update({'font.size': 14}) 直接修改所有默认字体

or 分别修改:
ax.set_xticklabels(xticks_label,fontsize=20) X刻度(当X刻度为自定义字符串的时候)
ax.set_xlabel(xlabel,fontsize=20) X坐标名称
ax.tick_params(axis='both', which='major', labelsize=20) #专门改变坐标轴ticks的命令

将np数组保存为文档 np.savetxt("output.txt", array, fmt='%s', delimiter=",") #此处fmt='%s' 表示为字符串

用Python创建folder os.makedirs(f'{}')