我有一个名为df的Pandas Dataframe。我想用 X 替换开头和结尾处句子列中的每个值。
df = pd.DataFrame({'sentence': ['I eat chicken', 'I drive car'],
'start': [3, 3],
'end': [6,8]})
例如,将在句子列中返回I X chicken
和I X car
。我尝试使用Apply和Replace,但返回错误。
答案 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