gpt4 book ai didi

python - 在数据框python的每一行中按字母顺序对单词进行排序

转载 作者:行者123 更新时间:2023-11-28 21:36:07 24 4
gpt4 key购买 nike

我在数据框中有一列,其中包含如下所示的字符串值:

sortdf=pd.DataFrame(data= {'col1':["hello are you","what happenend","hello you there","issue is in our program","whatt is your name"]})

我想按字母顺序对元素中的每个单词进行排序。

期望的输出:

    col1
0 are hello you
1 happenend what
2 hello there you
3 is in issue our program
4 is name whatt your

我尝试使用下面的代码来做到这一点:

sortdf['col1']. sort()

但是这段代码不起作用。

最佳答案

使用 pd.Series.apply使用匿名 lambda 函数:

sortdf['col1'] = sortdf['col1'].apply(lambda x: ' '.join(sorted(x.split())))

pd.Series.sort 是不合适的,因为 (a) 这对系列元素而不是系列元素中的单词进行排序,并且 (b) 该方法已被弃用,取而代之的是 sort_values.

这个想法是将一个字符串拆分成一个单词列表,按字母顺序排序,然后重新加入一个字符串。

结果:

                      col1
0 are hello you
1 happenend what
2 hello there you
3 in is issue our program
4 is name whatt your

或者,列表理解可能更有效:

sortdf['col1'] = [' '.join(sorted(x)) for x in sortdf['col1'].str.split()]

关于python - 在数据框python的每一行中按字母顺序对单词进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51449901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com