我有一个包含法语单词、结尾和新结尾的数据框。我想创建一个第4列,其中有替代词:
word |ending|new ending|what i want|
--------------------------------------
placer |cer |ceras |placeras |
placer |cer |cerait |placerait |
placer |cer |ceront |placeront |
finir |ir |iras |finiras |
所以基本上,在第1栏,用第3栏的内容替换第2栏中的等价内容。
有什么想法吗?
最佳答案
使用apply()
:
df['new_word'] = df.apply(
lambda row: row['word'].replace(row['ending'], row['new ending']),
axis=1
)
# word ending new ending new_word
#0 placer cer ceras placeras
#1 placer cer cerait placerait
#2 placer cer ceront placeront
#3 finir ir iras finiras
正如@jpp所指出的,这种方法的一个警告是,如果结尾出现在字符串的中间,那么它将无法正常工作。
在这种情况下,请参阅this post了解如何替换字符串末尾。