按值对Pandas数据帧排序

2024-06-07 00:18:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这个问题有很多答案,例如:How to sort pandas data frame using values from several columns?

我尝试了用户提供的解决方案,但无法获得排序列。

我建立了一个数据框:

weekly = {'Tweet ID': Series(tweetID),
          'Fecha de Publicación': Series(tweetDate),
          'Tweet': Series(textStatus),
          'Retweets': Series(retweetCount),
          'Favoritos': Series(favoriteCount),
          'Hashtags': Series(hashtags),
          'Menciones': Series(mentions)}

weeklyAnalysis = DataFrame(weekly)

然后我会发一些特别的推文:

maxTweets = weeklyAnalysis[['Tweet', 'Retweets']]
                          [weeklyAnalysis['Retweets'] >= promedioRts]

为了对转发列进行排序,我尝试了以下操作:

maxTweets.sort_values(by=['Tweet', 'Retweets'], ascending=[False, True])

我如何才能真正地对retweets列进行排序。

如有任何建议,我们将不胜感激!谢谢


Tags: to答案pandasdata排序sortframetweet
2条回答

与Python的list不同,默认情况下pandas不会进行就地排序。

改变

maxTweets.sort_values(by=['Tweet', 'Retweets'], ascending=[False, True])

maxTweets = maxTweets.sort_values(by=['Tweet', 'Retweets'], ascending=[False, True])

或通过inplace=True

maxTweets.sort_values(by=['Tweet', 'Retweets'], ascending=[False, True], inplace=True)

如果我对你的理解是正确的,那你是想通过“转发”来对df进行排序?使用:

maxTweets_sorted = maxTweets.sort_values(by='Retweets')

相关问题 更多 >