数据框行和列是否包含字符串?如果是这样,return 新列中的该字符串

Does data frame row and column contains string? If so, return that string in new column

我有一个数据框,我想创建一个新列 - 如果特定列中存在一个字符串,则将该字符串输出为新列的值加上后面的 3 个空格。

示例-

在此示例中,我想搜索字符串“Note”,如果该字符串存在于列 note 中,则将“Note”及其之后的三个空格中的内容放入。

之前:

id partNumber note
1 a1b33 apples
2 hhgh5667 banana, Note 55, and pineapples
3 hhgh5667 Note 1A, and blueberries
4 09890ii blackberries

之后:

id part_number note Note_number
1 a1b33 apples NA
2 hhgh5667 banana, Note 55, and pineapples Note 55
3 hhgh5667 Note 1A, and blueberries Note 1A
4 09890ii blackberries NA

您可以使用带有 str.extract 的正则表达式来捕获从注释到逗号之前的所有内容。

df['Note_number'] = df.note.str.extract('(Note.*)(?=\,)')

输出

   id partNumber                             note Note_number
0   1      a1b33                           apples         NaN
1   2   hhgh5667  banana, Note 55, and pineapples     Note 55
2   3   hhgh5667         Note 1A, and blueberries     Note 1A
3   4    09890ii                     blackberries         NaN