Python 条件选择是否保留数据帧中的顺序?

Python 条件选择是否保留数据帧中的顺序?,python,pandas,dataframe,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 谢谢是

比如说,

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

谢谢

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

如果需要更改顺序,需要按列
年龄
排序:

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

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

在这里你可以看到:

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

谢谢,在索引上排序一定能保持秩序。我的数据有多大,>200G,我不确定排序的成本是否必要。@adroot-Hmmm,那么我不理解你的问题。因为如果
df[df['age']>10]
返回索引
1,2
它会保持顺序。所以也许答案应该是-
是的,过滤保留顺序
谢谢。是的,我的问题是关于维持秩序@zipa举了一个很好的例子。@adroot请接受这个答案。帮助人们发现它更容易接受谢谢你启发的例子,它让我确保秩序得到维护。