在Python中按两列对数据帧进行排序

时间:2017-05-30 19:31:06

标签: python csv pandas

我从以下代码中收到以下错误:

***File "<ipython-input-61-517e344a129d>", line 1
    df.sort_values(by "Script Count", "Drug Name"), axis=0, ascending=True, inplace=False, kind='quicksort',
                                   ^
SyntaxError: invalid syntax*** (the carrot is pointing to the second " following "Script Count")

代码:

import pandas as pd

import numpy as np

df = pd.read_csv('/Users/rmartin/Desktop/DE_Highmark.csv')

df.sort_values(by "Script Count", "Drug Name"), axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

我知道这一定非常简单,但我已经疯狂地试图解决这个问题。我尝试根据数据框中的"Script Count""Drug Name"列对数据框进行排序。 CSV已成功导入为数据框,但排序功能给我带来了麻烦。

1 个答案:

答案 0 :(得分:2)

参考docs,正确的语法是:

 DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

所以在你的情况下,它应该是:

df.sort_values(by=[ "Script Count", "Drug Name"], ascending=[True,True])