条件选择是否保留Pandas DataFrame中的顺序?

时间:2018-09-04 07:51:58

标签: python pandas dataframe

例如,

df = pandas.DataFrame({'name':['a','b','c'], 'age':[10,20,30]})

  name  age
0    a   10
1    b   20
2    c   30

df[df['age'] > 10]

  name  age
1    b   20
2    c   30

我的问题是:熊猫能否确保保留索引顺序? 可能的结果如下:

  name  age
2    c   30
1    b   20

谢谢

2 个答案:

答案 0 :(得分:0)

是的,过滤保留行的顺序(也包括索引值)。

如果需要更改顺序,需要按列age进行排序:

df1 = df[df['age'] > 10].sort_values('age', ascending=False)
print (df1)
  name  age
2    c   30
1    b   20

答案 1 :(得分:0)

它会保留数据顺序,不会自动按任何属性对数据进行排序。

在这里您可以看到:

df = pd.DataFrame({'name':['a','b','c'], 'age':[30,20,10]}, index=[1,0,2])

df[df['age']>10]
#   age name
#1   30    a
#0   20    b