答案 0 :(得分:2)
运行:
df['Number'] = df.svn_changes.str.match(r'r\d+').cumsum()
答案 1 :(得分:1)
是的,是contains
和正则表达式和cumsum
:
df = pd.DataFrame({'svn_changes':['r123456','RowValueRow','ValueRowValue',
'some_string_string','r234566','ValueRowValue',
'some_string_string','r123789','something_here',
'ValueRowValue','String_2','String_4']})
df['Number'] = df['svn_changes'].str.contains('r\d+').cumsum()
print(df)
输出:
svn_changes Number
0 r123456 1
1 RowValueRow 1
2 ValueRowValue 1
3 some_string_string 1
4 r234566 2
5 ValueRowValue 2
6 some_string_string 2
7 r123789 3
8 something_here 3
9 ValueRowValue 3
10 String_2 3
11 String_4 3
答案 2 :(得分:0)
这是一条简单的可重复使用的行,您可以用来执行此操作:
df['new_col'] = df['old_col'].str.contains('string_to_match')*1
如果该列中存在字符串,则新列的值将为1
,否则为0
。