辞書内の値の出現率を計算したいと思います。 d.values/sum(d.values)*100
それはエラーを返します:unsupported operand type(s) for /: 'list' and 'int'
あなたは任意の整数でリスト全体を分割することはできません。私は思って、私はあなたがパーセンテージを計算することができますがカウントした時点でd =(Counter([Counter(i)['1'] for i in f.readlines()]))
としようとしましたが、それは動作しませんでした。誰かがアイデアを持っているなら、私に知らせてください。Python辞書の割合を計算する
from collections import Counter
import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
with open("data_binary.txt") as f:
d=(Counter([Counter(i)['1'] for i in f.readlines()]))
print d
p = d.values()
X = np.arange(len(d))
pl.bar(X, p, align='center',width=0.25)
a = np.array(d.items())
pl.xticks(X,d.keys())
a = a[np.argsort(a[:,0])]
#print a
ymax=max(d.values())+1
pl.ylim(0, 70000)
plt.xlabel ("Number of ones")
plt.ylabel ("Number of Signatures")
plt.title("[email protected]")
pl.show()
は、例えば、。どのように辞書のように見える? – AceLearn
'np.fromfile'(バイナリの場合)または' np.loadtxt'を使用して 'np.array'に直接データをロードするのはなぜですか? – Crispin