我有这个数据集:
| A列|
| - -|
| 点abcdefg|
| 弗吉克尔|
| abcdg点|
| 操作序号cv|
| 英国石油公司|
| 标准BP|
我想把单词“pt”、“cv”和“bp”放在句子的最后,所以这就是我想要的输出:
| A列|
| - -|
| abc定义点|
| 福吉克品种|
| abcdg点|
| 操作序号cv|
| 标准BP|
| 标准BP|
我还没有尝试任何代码,但我发现了这段代码,但我在修改它时遇到了麻烦,因为我想将它应用到整个DataFrame。
def order_word(s, word, delta):
words = s.split()
oldpos = words.index(word)
words.insert(oldpos+delta, words.pop(oldpos))
return ' '.join(words)
有人能帮我构建代码吗?提前感谢。
3条答案
按热度按时间blpfk2vs1#
下面是一个使用
pandas.Series.str.split
和sorted
的命题:#输出:
ctzwtxfj2#
可以将正则表达式与
str.replace
一起使用:输出(为清楚起见,作为新列):
regex demo
rur96b6h3#
示例
df
:代码
输出(
s
):使
s
成为列我做这个代码是为了中间有pt或cv。
更新
提问者说不存在中间的情况。
然后使用以下代码: