程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

比较几个数据框列以列出

发布于2022-09-24 07:53     阅读(1124)     评论(0)     点赞(25)     收藏(0)


我有一个这样的数据框(列不是并排的):

 Num A Num B Num C Marked
0  213   314   512
1  612   516   713
2  613   678   125
3  163   813   312

还有一个像 list = [612,813,512,713]

我现在想比较,如果列表中的值存在于数据框中,并将其标记为 1,否则标记为 0,以便输出为:

 Num A Num B Num C Marked
0  213   314   512      1
1  612   516   713      1
2  613   678   125      0
3  163   813   312      1

我只发现了如何用一个列做到这一点:

import pandas as pd
import numpy as np

path = "path"
wb = pd.ExcelFile(path)
df = wb.parse("Sheet1")

list = [612,813,512,713]

df['Marked'] = df.Num_A.isin.(list).astype(int) 


你怎么能让这个考虑所有列?

提前致谢!


解决方案


您可以使用np.isin方法检查沿列中是否lst存在数字df,然后将其转换为整数值:

df['Marked'] = np.isin(df.values,lst).any(axis=1).astype(int)


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1774306/db89f6dbc2de390f6a09/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

25 0
收藏该文
已收藏

评论内容:(最多支持255个字符)