删除零值并绘制分布图-Python(熊猫)
我有这个分组数据,它是每个主机的平均列表删除零值并绘制分布图-Python(熊猫),python,pandas,plot,Python,Pandas,Plot,我有这个分组数据,它是每个主机的平均列表 host_id 310835509 892.0 121985032 581.0 1464510 100.0 517215 88.0 65859990 85.0 ... 138762026 0.0 138739439 0.0 4741854 0.0 4760591 0.0 75550005 0.0 我想删除零值并绘制其分
host_id
310835509 892.0
121985032 581.0
1464510 100.0
517215 88.0
65859990 85.0
...
138762026 0.0
138739439 0.0
4741854 0.0
4760591 0.0
75550005 0.0
我想删除零值并绘制其分布。我尝试了各种方法,但得到了错误的输出。对于
系列中的删除0
,请使用:
如果需要统计直方图中的值:
out.plot.hist()
或条形图中的计数:
out.value_counts.plot.bar()
非常简单的例子:
import numpy as np
import matplotlib.pyplot as plt
y = np.random.randint(0, 5, 1000)
y = [numb for numb in y if numb != 0]
plt.hist(y)
plt.show()
在您的例子中,我只需执行与y相同的操作,并在数组/列表上迭代以查找所有非0的值,并将它们保留在列表中
编辑:对不起,我没注意到你说熊猫
如前所述,您可以执行以下操作:
df = df[df['your_column']!=0]
您可以使用熊猫,例如文档:
df = pd.DataFrame(np.random.randint(1, 7, 6000), columns = ['one'])
df['two'] = df['one'] + np.random.randint(1, 7, 6000)
ax = df.plot.hist(bins=12, alpha=0.5)
或者您可以使用maptlotlib,前面的示例可能就足够了。什么是绘制此分布。
?可能是直方图?是的,我是指直方图。
df = pd.DataFrame(np.random.randint(1, 7, 6000), columns = ['one'])
df['two'] = df['one'] + np.random.randint(1, 7, 6000)
ax = df.plot.hist(bins=12, alpha=0.5)