我正在尝试从'.csv‘文件中读取一些数据(基因组名称),我想找出每一列的长度,然后用这些数据构建一个条形图,但不知何故,我的脚本显示所有列都有相同的长度,这不是真的。我的文件中有4列,每列的每个单元中都有一个基因组名称。错误的列数随后也会显示在'.png‘文件中。我在我的文件中删除了曾经的'0‘值,但这个问题仍然没有消失。这是我的代码:
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()代码很短,很简单,但不知何故我找不到问题所在。请帮帮忙。
发布于 2020-11-26 20:47:02
不可能有不相等的列,这些列要么有NaN值,要么有一些或其他值。
请检查NaN值。
谢谢。
发布于 2020-11-26 23:43:10
没有上升到列是不可理解的,或者列将具有NaN值,或者是少数或其他值。使用以下代码删除NAN值:
df.drop.isna()您可以看到NaNs,这是代码:
df.isnull().sum()`
https://stackoverflow.com/questions/65022291
复制相似问题