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

adr*_*oot 4 python dataframe pandas

例如,

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
Run Code Online (Sandbox Code Playgroud)

我的问题是:Pandas 是否确保保留索引顺序?是否有可能出现这样的结果:

  name  age
2    c   30
1    b   20
Run Code Online (Sandbox Code Playgroud)

谢谢

jez*_*ael 6

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

如果需要更改顺序,则需要按列排序age

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