python函数
1.axis=1或axis=0
简单的来记就是axis=0代表往跨行(down),而axis=1代表跨列(across)
Pandas保持了Numpy对关键字axis的用法,用法在Numpy库的词汇表当中有过解释:
轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。
参考: https://www.cnblogs.com/rrttp/p/8028421.html
2.argsort()
返回的是数组值从小到大的索引值,排序后会产生一个新的数组,不改变原有的数组。
a = array([1,4,9,3,2,3,8])
b = a.argsort()
print(a)
print(b)
output:
[1 4 9 3 2 3 8]
[0 4 3 5 1 6 2]
参考: https://blog.csdn.net/wangxiao7474/article/details/78867766?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
3. numpy.argmin(a, axis=None, out=None)
a : Input array.
axis : 默认将输入数组展平。否则,按照axis方向
返回检索数组中最小值的位置,并返回其下标值。
>>> a = np.arange(6).reshape(2,3)
>>> a
array([[0, 1, 2],
[3, 4, 5]])
>>> np.argmin(a)
0
>>> np.argmin(a, axis=0)
array([0, 0, 0])
>>> np.argmin(a, axis=1)
array([0, 0])
参考: https://blog.csdn.net/weixin_41770169/article/details/80714461
4. numpy.concatenate((a1,a2,…), axis=0)函数。能够一次完成多个数组的拼接。其中a1,a2,…是数组类型的参数
>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=np.array([[11,21,31],[7,8,9]])
>>> np.concatenate((a,b),axis=0)
array([[ 1, 2, 3],
[ 4, 5, 6],
[11, 21, 31],
[ 7, 8, 9]])
c=np.append(a,b) 可实现相同功能,但concatenate速度更快,更适合 适合大规模的数据拼接
参考: https://www.cnblogs.com/shueixue/p/10953699.html
5.使用matplotlib绘图时,图片上文字无法显示问题
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
6.绘制折线图-保存图片文件-论文需要的矢量格式
# encoding=utf-8
from matplotlib import pyplot
import matplotlib.pyplot as plt
names = range(8,21)
names = [str(x) for x in list(names)]
x = range(len(names))
y_train = [0.840,0.839,0.834,0.832,0.824,0.831,0.823,0.817,0.814,0.812,0.812,0.807,0.805]
y_test = [0.838,0.840,0.840,0.834,0.828,0.814,0.812,0.822,0.818,0.815,0.807,0.801,0.796]
#plt.plot(x, y, 'ro-')
#plt.plot(x, y1, 'bo-')
#pl.xlim(-1, 11) # 限定横轴的范围
#pl.ylim(-1, 110) # 限定纵轴的范围
plt.plot(x, y_train, marker='o', mec='r', mfc='w',label='uniprot90_train')
plt.plot(x, y_test, marker='*', ms=10,label='uniprot90_test')
plt.legend() # 让图例生效
plt.xticks(x, names, rotation=1)
plt.margins(0)
plt.subplots_adjust(bottom=0.10)
plt.xlabel('the length') #X轴标签
plt.ylabel("f1") #Y轴标签
pyplot.yticks([0.750,0.800,0.850])
#plt.title("A simple plot") #标题
plt.savefig('D:\\f1.jpg',dpi = 900)
# 保存为论文需要的矢量格式
plt.savefig('D:\\f1.svg',dpi = 600)
参考:
https://blog.csdn.net/Poul_henry/article/details/88294297?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.channel_param
og-OPENSEARCH-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.channel_param
https://blog.csdn.net/super_he_pi/article/details/85987543
7.python保存数据到excel表格列
list1 = a # # 定义指定输出Excel文件的名称,读入方式,编码方式
result = open('test3.xls', 'w')
# 参数'w'表示往指定表格读入数据,会先将表格中原本的内容清空
# 若把参数’w'修改为‘a+',即可实现在原本内容的基础上,增加新写入的内容
for i in range(0, len(list1)):
result.write(str(list1[i]))
result.write('\n') # '\t'表示每写入一个元素后,会移动到同行的下一个单元格
# result.write("\n") # 换行操作
result.close()
8. python绘图–纵轴为对数(10的n次方)
plt.yscale('log')
或
plt.yscale('symlog')
log:对数。其中basex|basey关键字指定对数的基
logit:以2为底的对数
symlog:对数,其中basex|basey关键字指定对数的基
9.python绘图后转格式为论文要求的矢量图emf
- svg转换为emf:
https://convertio.co/zh/svg-emf/
- 其他格式
https://onlineconvertfree.com/zh/converter/images/