Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除零值并绘制分布图-Python(熊猫)_Python_Pandas_Plot - Fatal编程技术网

删除零值并绘制分布图-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)