
修改 dataframe 中一列的值
如何对 dataframe 中的一列进行修改,使其每个字符串前后都加上特定值?
解决方案
使用以下代码:
立即学习“Python免费学习笔记(深入)”;
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'a': ['cm1', 'cm2', 'cm3'], 'b': ['b1-name xxxx', 'name yyyy', 'b3-name name zzzz']})
# 获取要修改的内容
s_list = ['cm1', 'cm2', 'cm3']
s_val = df['b'].values
# 修改内容并生成新字符串
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_idx = df[df['b'].str.contains('!TAB!' + s_list[0] + '!TAB!') == True].index.values
# 输出修改后的 DataFrame
print(df)
print(s_idx)










