如何在 Python 中为 DataFrame 的一列中的每个字符串添加前缀和后缀?
如何在 python 中修改 dataframe 中一列的值
问题描述:
我们有一个包含两列的 dataframe,如下所示:
a | b |
---|---|
cm1 | b1-name xxxx |
cm2 | name yyyy |
cm3 | b3-name name zzzz |
需要在 b 列的每个字符串前后都加上 "!a!"。最终结果应为:
a | b |
---|---|
cm1 | !a!b1-name xxxx!a! |
cm2 | !a!name yyyy!a! |
cm3 | !a!b3-name name zzzz!a! |
解答:
- 创建一个字符串列表,其中包含需要添加的前缀和后缀,例如: s_list = ['!a!', '!a!']。
- 遍历 dataframe 中的每一行和每一列,并使用以下代码修改 b 列的值:
for i in range(len(s_list)): for j in range(len(s_val)): str = '!tab!' + ' '.join(s_val[j].split()).replace(' ','!tab!') + '!tab!' df['b'][j] = str
在上面的代码中:
- s_val 是 b 列中的值列表。
- str 是新的字符串,包含前缀和后缀。
- !tab! 是占位符,用于将字符串中的单词分隔开来。
- 最后,使用以下代码查找并打印包含特定字符串的行:
s_idx = df[df['b'].str.contains('!TAB!' + s_list[0] + '!TAB!') == True].index.values print(s_idx)
通过上面的方法,就可以修改 dataframe 中 b 列的值,并在每个字符串前后添加指定的前缀和后缀。
以上就是如何在 Python 中为 DataFrame 的一列中的每个字符串添加前缀和后缀?的详细内容,更多请关注其它相关文章!