本文记录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'{}')