处理CSV文件,判断某一列和某个列表元素相等,并在相等元素后新增一列元素

新手上路,请多包涵

处理CSV文件,根据一个列表的内容来匹配第二列的内容,如果该列表有B列的元素,则在该元素对应的行数增加一列,新加的列输出为1
CSV数据为:

clipboard.png
...
该数据和列表lis匹配,这个名为lis列表包括TDSC和IEEE Transactions on Mobile Computing等元素,如果CSV数据中的B列和列表中的数据一致,就在对应的新加的列数中输出1理想效果如下:

clipboard.png
...
请大神给出代码

阅读 3.8k
1 个回答

使用apply方法

df['C'] = df['B'].apply(lambda x: "1" if x in lis else '')

例子如下:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({"name":["Jack", "Tony", "Robin"],"company":["Alibaba"
   ...: ,"Tencent", "Baidu"]})

In [3]:

In [3]: df
Out[3]:
    name  company
0   Jack  Alibaba
1   Tony  Tencent
2  Robin    Baidu

In [4]: big_company = ["Alibaba", "Tencent"]

In [5]: df['is_big'] = df['company'].apply(lambda x: "1" if x in big_company els
   ...: e '')

In [6]: df
Out[6]:
    name  company is_big
0   Jack  Alibaba      1
1   Tony  Tencent      1
2  Robin    Baidu
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题