我正在清理一个数据集,需要提取下划线(_(之间的字符串部分。我从A栏开始。
A
foo_bar_foo
bar_foo_bar
bar
foo_bar_foo
我需要复制下划线之间的字符,并将它们复制到一个新列中。B列为预期结果。
A B
foo_bar_foo bar
bar_foo_bar foo
bar null
foo_bar_foo bar
欢迎提出任何建议。
使用str.split
和.str[index]
df['B']=df.A.str.split('_').str[1]
A B
0 foo_bar_foo bar
1 bar_foo_bar foo
2 bar NaN
3 foo_bar_foo bar
使用提取:
df['B'] = df['A'].str.extract('_(w+)_')
print(df)
输出
A B
0 foo_bar_foo bar
1 bar_foo_bar foo
2 bar NaN
3 foo_bar_foo bar