按字符串列的长度对数据框进行排序

Slo*_*rop 2 python sorting string dataframe pandas

使用Python。我有一个包含三列的数据框:

Author | Title | Reviews
Run Code Online (Sandbox Code Playgroud)

我想按“评论”列中字符串的长度排序。

如果我做

df.sort_values('Review', ascending = False)
Run Code Online (Sandbox Code Playgroud)

它以字母'开头,按字母顺序排序z

如何获取“评论”列中字符串的长度排序?

jez*_*ael 5

我认为您需要len分配给索引的长度,sort_index最后reset_index

df = pd.DataFrame({'Author':list('abcdef'),
                   'Title ':list('abcdef'),
                   'Review':['aa', 'aasdd', 'dwd','dswee dass', 'a', 'sds']})

print (df)
  Author      Review Title 
0      a          aa      a
1      b       aasdd      b
2      c         dwd      c
3      d  dswee dass      d
4      e           a      e
5      f         sds      f

df.index = df['Review'].str.len()
df = df.sort_index(ascending=False).reset_index(drop=True)
print (df)
  Author      Review Title 
0      d  dswee dass      d
1      b       aasdd      b
2      c         dwd      c
3      f         sds      f
4      a          aa      a
5      e           a      e
Run Code Online (Sandbox Code Playgroud)