python - 在 pandas 中创建质量分数列

标签 python pandas

您好,我正在使用 pandas 中的数据框,它看起来像这样

ID    Color    Size      Shape
1     Blue     Small     Triangle
2     Red      Medium    Square
3     Yellow   Large     Circle

我想将每一行与数据列表进行比较,并创建一个新的分数列来计算每行与列表匹配的次数。

示例 [Red、Medium、Circle] 将生成以下数据帧。

ID    Color    Size      Shape      Score
1     Blue     Small     Triangle     0
2     Red      Medium    Square       2
3     Yellow   Large     Circle       1

理想情况下,我希望能够创建多个分数列来检查多个列表。

最佳答案

对 data.frame 使用 isin

l=['Red', 'Medium', 'Circle']
df['score']=df.isin(l).sum(1)
df
Out[404]: 
   ID   Color    Size     Shape  score
0   1    Blue   Small  Triangle      0
1   2     Red  Medium    Square      2
2   3  Yellow   Large    Circle      1

关于python - 在 pandas 中创建质量分数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50845306/

相关文章:

Python requests 模块 - 将嵌套 XML 作为查询参数传递

Python 以及如何从 Selenium 元素 WebElement 对象获取文本

python - 按细胞类型过滤 Pandas 数据框

python - 将列表/数组与数据框列进行比较?

pandas - 从长度不等列表列表创建数据框

python - 将两个 DataFrames 元素与不同的 DataFrame 进行比较

python - 如何在Python中的列表的每个元素中添加常量字符串?

python - 使用单个 "for"循环或使用 "itertools"库反转字典

python - 如何使用 django Serializer 更新实例

python - Pandas 从一列字符串中删除字符