繁体   English   中英

Python CSV 读数。 使用升序和降序按 2 列排序

[英]Python CSV reading. Sort by 2 columns using ascending and descending order

csv 文件( https://www.kaggle.com/blitzr/movehub-city-rankings ->> movehubqualityoflife.csv)

我需要返回前五条记录,按 movehub 评分最高和医疗保健评分最差的城市排序

请帮助我,朋友。

下面看一下我当前的代码:

import pandas as pd

df = pd.read_csv("movehubqualityoflife.csv", delimiter=',')

df.sort_values(by='Movehub Rating', ascending=False)


df1 = pd.read_csv("movehubqualityoflife.csv", delimiter=',')

df1.sort_values(by='Health Care', ascending=True)

您应该可以通过对相同的 dataframe 进行两次排序来做到这一点,如下所示:

import pandas as pd

df = pd.read_csv("movehubqualityoflife.csv", delimiter=',')

df.sort_values(by='Movehub Rating', ascending=False)
df.sort_values(by='Health Care', ascending=True)

这样,您的 dataframe 将首先按“医疗保健升序”排序,然后按“movehub 评级降序”排序。 dataframe 对象中的排序操作是永久性的。

为了保存您设置的新订单,您需要就地使用,因此您的更改将永久生效。 您可以使用 head(5) 获得前 5 个

df.sort_values(by='Movehub Rating', ascending=False, inplace=True)

df1=df.head(5)

然后你可以为“医疗保健”再做一次。 如果您想对它们进行排序(首先按“Movehub Rating”,然后按“Health Care”),您可以执行以下操作:

df.sort_values(by=['Movehub Rating','Health Care'], ascending=[False,True], inplace=True)

df1=df.head(5)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM