我有一个pandas数据框,需要修改给定字符串列中的所有值。每列都包含相同长度的字符串值。用户提供他们想要替换每个值的索引
例如:
我如何使用
解决方案:以下是我使用下面标记的答案得出的最终解决方案:
[1:3]
和替换值"AAA"
。这将用值AAA
替换从值1到3的字符串。我如何使用
applymap()
、map()
或apply()
函数来完成此操作?解决方案:以下是我使用下面标记的答案得出的最终解决方案:
import pandas as pd
df = pd.DataFrame({'A':['ffgghh','ffrtss','ffrtds'],
#'B':['ffrtss','ssgghh','d'],
'C':['qqttss',' 44','f']})
print df
old = ['g', 'r', 'z']
new = ['y', 'b', 'c']
vals = dict(zip(old, new))
pos = 2
for old, new in vals.items():
df.ix[df['A'].str[pos] == old, 'A'] = df['A'].str.slice_replace(pos,pos + len(new),new)
print df