python - 根据条件在数据框 pandas 中创建列

标签 python list pandas dataframe

我有两个列表

A = ['a','b','c','d','e']
B = ['c','e']

带有列的数据框

      A
  0   a
  1   b
  2   c
  3   d
  4   e

我希望为 B 中的元素与 A 匹配的行创建一个附加列。

      A  M
  0   a
  1   b
  2   c match
  3   d
  4   e match

最佳答案

您可以使用locnumpy.where和条件 isin :

df.loc[df.A.isin(B), 'M'] = 'match'
print (df)
   A      M
0  a    NaN
1  b    NaN
2  c  match
3  d    NaN
4  e  match

或者:

df['M'] = np.where(df.A.isin(B),'match','')
print (df)

   A      M
0  a       
1  b       
2  c  match
3  d       
4  e  match

关于python - 根据条件在数据框 pandas 中创建列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43672958/

相关文章:

python - 通过在文本 block 中查找关键字来过滤数据框

python - 使用两列中的值对 Pandas 数据框进行子集化

python - ZeroMQ 推送套接字导致客户端在没有进程监听时不终止

python - 使用 `format` 获取字符串的最后一个字符

python - 你如何拆分字符串行来创建嵌套列表?

python - 根据 pandas dataframe 的连接数自动向 networkx 中的边添加权重

python - 在 python 代码中与使用 Qt Designer 创建的 MatplotlibWidget 进行交互

python - 在 Python 中拥有唯一标识符的正确方法?

java - Java中的排序列表

python - 拆分小写和大写联合的句子