python - Pandas - 修改每个单元格中的字符串值

标签 python pandas string

我有一个 pandas 数据框,我需要修改给定字符串列中的所有值。每列包含相同长度的字符串值。 用户提供他们想要为每个值替换的索引

  • 例如:[1:3] 和替换值 “AAA”
  • 这会将值 1 到 3 的字符串替换为值 AAA

如何使用 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

最佳答案

使用str.slice_replace :

df['B'] = df['B'].str.slice_replace(1, 3, 'AAA')

示例输入:

   A         B
0  w   abcdefg
1  x   bbbbbbb
2  y   ccccccc
3  z  zzzzzzzz

示例输出:

   A          B
0  w   aAAAdefg
1  x   bAAAbbbb
2  y   cAAAcccc
3  z  zAAAzzzzz

关于python - Pandas - 修改每个单元格中的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38572815/

相关文章:

python - 使用给定值填充 pandas DataFrame 到第一个数据点和最后一个数据点

c# - 打破这个字符串的更有效/更整洁的方法是什么?

sql - SQL查询结果中用空白单元格替换 "(null)"

python - 如何在 docker 容器内提供 django secret

python - Jupyter : How can I interactively select series to plot using widgets. SelectMultiple()?

python - 用计数复制数据框中的每一行

java - java.sql.ResultSet.getString() 返回的字符串及其字节码解释

python - 如何在VS Code中分离Python调试器并让代码完成运行?

python - 在每次测试运行时生成相同的概率分布

python - Pandas 从单独的 df 中定义的映射中替换 df 中的项目