根据索引范围替换熊猫数据框值

时间:2020-04-01 15:32:24

标签: python pandas dataframe

我有一个名为df的Pandas Dataframe。我想用 X 替换开头和结尾处句子列中的每个值。

df = pd.DataFrame({'sentence': ['I eat chicken', 'I drive car'], 
                   'start': [3, 3],
                    'end': [6,8]})

例如,将在句子列中返回I X chickenI X car。我尝试使用Apply和Replace,但返回错误。

2 个答案:

答案 0 :(得分:1)

是的,您只需使用正确的功能即可申请

df.apply(lambda x: x.sentence[:x.start-1] + ' X ' + x.sentence[x.end:], axis=1)

输出:

0    I  X chicken
1        I  X car
dtype: object

答案 1 :(得分:0)

IIUC slice_replace

df.apply(lambda x : x.str.slice_replace(start=x['start']-1, stop=x['end']-1, repl='X'),1).sentence
0    I X chicken
1        I X car
Name: sentence, dtype: object