如何删除列中的部分字符串值?
How to remove part of string value in column?
我有一个数据框:
id value
4_french:k_15 10
87_john:k_82 82
11_mark:k_10/k_70 10
1_italian:k_11 9
我想重命名具有 john:k_
的列 id 中的值,给它们新的 id john
或 mark
如果其 mark:k_
所以期望的结果必须是:
id value
4_french:k_15 10
john 82
mark 10
1_italian:k_11 9
怎么做?
我们可以在这里使用str.replace
:
df["id"] = df["id"].str.replace(r'^.*(john|mark):k_.*$', r'')
这是一个正则表达式 demo,表明替换逻辑正在运行。
假设您甚至不知道名称可能是什么的通用版本是:
df["id"] = df["id"].str.replace(r'^.*([a-z]+):k_.*$', r'')
我有一个数据框:
id value
4_french:k_15 10
87_john:k_82 82
11_mark:k_10/k_70 10
1_italian:k_11 9
我想重命名具有 john:k_
的列 id 中的值,给它们新的 id john
或 mark
如果其 mark:k_
所以期望的结果必须是:
id value
4_french:k_15 10
john 82
mark 10
1_italian:k_11 9
怎么做?
我们可以在这里使用str.replace
:
df["id"] = df["id"].str.replace(r'^.*(john|mark):k_.*$', r'')
这是一个正则表达式 demo,表明替换逻辑正在运行。
假设您甚至不知道名称可能是什么的通用版本是:
df["id"] = df["id"].str.replace(r'^.*([a-z]+):k_.*$', r'')