如何使用Python查看数据框中一列的值,并根据这些结果在另一列中添加新值?



我有一个CSV文件,其中一列充满了类似于以下的值…

tbody> <<tr>
列A
嗨(第一个)!
谢谢!
什么车吗?
你是[第一][最后]吗?
你知道吗?
Save 25% [First]!
Get $2,000 Back!
拥抱前方的路
每人节省30%!

对于这种情况,我将使用np.select。它接受一个条件列表和一个相同长度的替换值列表。对于每个条件,它匹配的所有值都将被替换为相应的值。当所有条件都不匹配时,np.select还将默认值作为第三个参数。

conds = [
df['Column A'].str.contains(r'[(?:First|Last)]'),
df['Column A'].str.contains('Save'),
df['Column A'].str.contains('?', regex=False),
df['Column A'].str.contains('Thank', regex=False),
]
vals = [
'Personalized',
'Offer',
'Curiosity',
'Gratitude',
]
df['Column B'] = np.select(conds, vals, 'Generic')

输出:

>>> df
Column A      Column B
0              Hi [First]!  Personalized
1               Thank You!     Gratitude
2                What Car?     Curiosity
3  Are you [First] [Last]?  Personalized
4            Did you know?     Curiosity
5        Save 25% [First]!  Personalized
6         Get $2,000 Back!       Generic
7   Embrace the road ahead       Generic
8      Everyone saves 30%!       Generic

相关内容

  • 没有找到相关文章

最新更新