生信菜鸟之基础统计分析,感谢各位大佬的代码

一、python list 统计频率
1.python 统计list中各个元素出现的次数
在这里插入图片描述

f = open('cath_blastp_identities', 'r')
iden = []
for i in f:
    iden.append(i.strip())
print(iden)
dict = {}
for key in iden:
    dict[key] = dict.get(key,0) + 1
print(dict)

2.python二级真题 d[i] = d.get(i,0)+1
3.python字典D.get()函数解析(最清晰的解释)
在这里插入图片描述
二、将字典写入csv

1.python将字典按行或按列写入csv文件
2.Python如何把字典写入到CSV文件
3.方法示例Python如何把字典写入到CSV文件的
4.python如何将字典数据写入到csv文件中
在这里插入图片描述
一开始,我是按以上代码去操作我的数据,可是在"datas"这里它是字典列表(也就是多个字典),我的情况是一个字典,因此又找了其他办法:
这里说明一下,我的报错如下:

AttributeError: 'str' object has no attribute 'keys'

AttributeError: ‘str’ object has no attribute ‘keys’
(1)AttributeError: ‘str’ object has no attribute ‘keys’
在这里插入图片描述

在这里插入图片描述
我自己的实现如下:

import csv
datas = []
header = list(dict.keys())
datas.append(dict)
with open('test.csv','w') as f:
    writer = csv.DictWriter(f, fieldnames=header)
    writer.writeheader()
    writer.writerows(datas)
print(dict)


可惜数据是横着放的,我希望它是竖着放的,所以

三、python 字典写入csv竖着排
1.writer.writerow()
2.Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题(我刚开始是想能不能从一些写入模块入手,找到将数据竖着写入csv的办法,简单找了一下,没有找到所以放弃了)
3.在 Python 中将字典写入 CSV
在这里插入图片描述我自己的实现如下:

with open('test1.csv','w') as f:
    writer = csv.writer(f)
    for k,v in dict.items():
        writer.writerow([k,v])

在这里插入图片描述四、python 画柱形图
1.python画图--柱状图
2.Python绘制柱形图
3.python简单练习 -统计文本词频并用柱状图显示
4.python 将csv转换成txt
5.python将csv文件转化成txt
在这里插入图片描述因为别人实现的代码里,将X和Y轴的数据转换成了列表,刚开始,我想的是在程序里将"csv"文件的数据转换成"txt",在将"txt"读入成列表,但由于时间有限(第二天就要汇报惹),所以我手动将csv的数据写成了列表形式的文件

在这里插入图片描述
我的实现如下:

#!/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np  
import matplotlib.mlab as mlab  
import matplotlib.pyplot as plt  
 
X=[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]
Y=[1,2,15,53,225,657,1888,4669,9670,17152,27120,37966,48678,55499,60059,61745,61165,57302,53637,46115,47488,33370,32608,27388,22225,24678,18351,14934,14802,12269,10972,9488,8250,6836,5142,7032,1781,6624,1259,4022,2530,1642,2074,1648,1470,1205,899,874,730,456,737,488,360,131,540,165,343,163,231,108,171,61,145,46,85,66,52,64,44,53,50,18,28,24,15,27,23,15,18,20,8,11,23,14,8,6,15,24]

# = open('test1.txt','r')
#or i in   
fig = plt.figure()
plt.bar(X,Y,0.4,color="green")
plt.xlabel("Identity (%)")
plt.ylabel("Counts")
plt.title("Distribution")
  
 
plt.show()  
plt.savefig("barChart.png")
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值