首页 > 解决方案 > 如何使用字符串列表计算列值的出现次数

问题描述

我有清单:

size_s = ["S", "S.", "s", "Size S.", "size S", "S(bust 88cm)", "S (waist58-62cm)", "S(Pink & Black)","Size-S",
         "S Diameter 30cm", "Size/S", "S Pink", "Size--S", "SIZE S", "US-S"]

我正在尝试遍历我的数据框中的一列,以查看哪些值包含我列表中的字符串。我正在使用:

   count = 0

for i in df["product_variation_size_id"]:
    if df["product_variation_size_id"].contains(size_s):
        count +=1

标签: pythonpandasdataframefor-loop

解决方案


我认为这就是你要找的:

count = len(df.loc[df["product_variation_size_id"].isin(size_s)])

这是我为测试该概念而制作的玩具示例:

import pandas as pd

df = pd.DataFrame({"product_variation_size_id":["S Diameter 30cm", 'XXXXX', "SIZE S"]})

size_s = ["S Diameter 30cm","SIZE S"]


count = len(df.loc[df["product_variation_size_id"].isin(size_s)])
print(count)
2

推荐阅读