如何重命名列中的值?
How to rename value in column?
我有一个数据框:
id value
4_french:k_15 10
87_nov:k_82 82
11_nov:k_10 10
1_italian:k_11 9
我想重命名列 id 中的值 nov:k_
给它们新的 id k
所以期望的结果必须是:
id value
4_french:k_15 10
k 82
k 10
1_italian:k_11 9
怎么做?
您可以像下面这样使用 .str.replace()
和 regex
:
>>> df['id'] = df['id'].str.replace(r'.*nov:k_.*', 'k', regex= True)
>>> df
id value
4_french:k_15 10
k 82
k 10
1_italian:k_11 9
将 contains
与 loc
结合使用
df.loc[df['id'].str.contains("nov:k_"), 'id'] = "k"
id value
0 4_french:k_15 10
1 k 82
2 k 10
3 1_italian:k_11 9
您也可以使用简单的 for 循环。
for i in df['id']:
if "nov:k" in i:
df = df.replace(i, 'k')
我有一个数据框:
id value
4_french:k_15 10
87_nov:k_82 82
11_nov:k_10 10
1_italian:k_11 9
我想重命名列 id 中的值 nov:k_
给它们新的 id k
所以期望的结果必须是:
id value
4_french:k_15 10
k 82
k 10
1_italian:k_11 9
怎么做?
您可以像下面这样使用 .str.replace()
和 regex
:
>>> df['id'] = df['id'].str.replace(r'.*nov:k_.*', 'k', regex= True)
>>> df
id value
4_french:k_15 10
k 82
k 10
1_italian:k_11 9
将 contains
与 loc
df.loc[df['id'].str.contains("nov:k_"), 'id'] = "k"
id value
0 4_french:k_15 10
1 k 82
2 k 10
3 1_italian:k_11 9
您也可以使用简单的 for 循环。
for i in df['id']:
if "nov:k" in i:
df = df.replace(i, 'k')