首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我从CSV文件python中读取的列长度错误

为什么我从CSV文件python中读取的列长度错误
EN

Stack Overflow用户
提问于 2020-11-26 20:43:47
回答 2查看 25关注 0票数 0

我正在尝试从'.csv‘文件中读取一些数据(基因组名称),我想找出每一列的长度,然后用这些数据构建一个条形图,但不知何故,我的脚本显示所有列都有相同的长度,这不是真的。我的文件中有4列,每列的每个单元中都有一个基因组名称。错误的列数随后也会显示在'.png‘文件中。我在我的文件中删除了曾经的'0‘值,但这个问题仍然没有消失。这是我的代码:

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

ca1 = []
casU3 =[]
casU5 =[]
casBig = []
df = pd.read_csv('statistics.csv')
ca1 = df['1 cassette']
casU3 = df['2-3 cassettes']
casU5 = df['4-5 cassettes']
casBig = df['More then 5 cassettes']
cas1 = len(list(filter(None, ca1)))
casUntil3 = len(list(filter(None, casU3)))
casUntil5 = len(list(filter(None, casU5)))
Bigcas = len(list(filter(None, casBig)))
genomes = cas1 + casUntil3 + casUntil5 + Bigcas
height = [cas1,casUntil3,casUntil5,Bigcas]
bars = ('No.of genomes with only 1 cassette','2-3 cassettes','4-5 cassettes','more than 5 cassettes')
y_pos = np.arange(len(bars))
plt.bar(y_pos, height, tick_label = bars, width = 0.5, color=(0.1, 0.1, 0.1, 0.1),  edgecolor='blue')
plt.ylabel('Number of genomes') 
plt.title('Statistics over %s genomes with CRISPR immune system' %genomes) 
plt.savefig('./histogramCRISPR.png')
plt.show()

代码很短,很简单,但不知何故我找不到问题所在。请帮帮忙。

EN

Stack Overflow用户

发布于 2020-11-26 23:43:10

没有上升到列是不可理解的,或者列将具有NaN值,或者是少数或其他值。使用以下代码删除NAN值:

代码语言:javascript
运行
复制
df.drop.isna()

您可以看到NaNs,这是代码:

代码语言:javascript
运行
复制
df.isnull().sum()

`

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65022291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档