首页 > 解决方案 > 如何计算数据框两列中元素的出现次数?

问题描述

我有一个包含列的数据框:“颜色”、“大小”、“形状”和“正在出售”来描述各种水果。“正在出售”列包含描述项目是否正在出售的布尔元素。

我最终想创建一个图,显示每种颜色的水果销售数量。我可以分别用这两行获得所有独特颜色的列表以及属于每个颜色类别的水果数量:

print(pd.unique(df["Color"]))
print(df["Color"].value_counts())

但是,我需要添加限定符“Being Sold = true”,以便第二行不包括未出售的水果。这样做最简单的方法是什么?

标签: pythonpandasmatplotlib

解决方案


您可以使用以下命令访问仅对应于"Being Sold"=的数据框True

df[df["Being Sold"]] # or df[df["Being Sold"]=="true"] # if strings 

由于"Being Sold"是布尔列,因此您无需编写df[df["Being Sold"]==True]. 虽然它也会起作用。

然后,您可以简单地执行您想要的任何操作。例如。

df[df["Being Sold"]]["Color"].value_counts()

推荐阅读