我有一个看起来像这样的数据框:
company Amazon Apple Yahoo
name
A 0 130 0
C 173 0 0
Z 0 0 150
它是使用以下代码创建的:
import pandas as pd
df = pd.DataFrame({'name' : ['A', 'Z','C'],
'company' : ['Apple', 'Yahoo','Amazon'],
'height' : [130, 150,173]})
df = df.pivot(index="name", columns="company", values="height").fillna(0)
我要做的是name
根据预定义的列表对行(带有索引)进行排序["Z", "C", "A"]
。结果是:
company Amazon Apple Yahoo
name
Z 0 0 150
C 173 0 0
A 0 130 0
我该如何实现?
你可以使用预定义的顺序设置指标reindex
像
In [14]: df.reindex(["Z", "C", "A"])
Out[14]:
company Amazon Apple Yahoo
Z 0 0 150
C 173 0 0
A 0 130 0
但是,如果按字母顺序排列,则可以使用 sort_index(ascending=False)
In [12]: df.sort_index(ascending=False)
Out[12]:
company Amazon Apple Yahoo
name
Z 0 0 150
C 173 0 0
A 0 130 0
如下所示,您需要将其分配给一些变量
In [13]: df = df.sort_index(ascending=False)
问题内容: 我有一个数据框。 我想选择在所有指数是 不是 在列表中, 现在,我使用列表理解来创建所需的标签以进行切片。 工作正常,但如果我经常需要这样做可能会很笨拙。 有一个更好的方法吗? 问题答案: 在索引上使用并反转布尔索引以执行标签选择:
我有一个,有200多列。问题在于订单生成时 我需要对这些列进行如下排序: 我有办法在Python中做到这一点吗?
这个(非常基本的)问题是这里交流的结果。 的文档说明: setkey()对数据进行排序。表并将其标记为已排序。排序列是关键。键可以是任何顺序的任何列。列始终按升序排序。该表通过引用…(增加强调)进行了更改 我一直将此解释为创建索引,而不是物理地重新排列数据表的行(类似于索引数据库表)。但是如果这是真的,那么删除键(使用)应该删除索引并将数据表恢复到其原始的未排序顺序。这不是发生的事情: 所以两个问
问题内容: 第一次尝试熊猫,我试图先按照索引对数据透视表进行排序,然后再对一系列值进行排序。 到目前为止,我已经尝试过: 按索引然后按值对数据透视表进行排序的正确方法是什么? 问题答案: 这是一个可以做您想要的解决方案: 结果将如下所示: 将其作为API方法内置到熊猫中会很好。虽然不确定应该是什么样。
问题内容: 我想对以下数据框进行排序: 我想对它进行排序,以便根据列表对LSE列进行重新排序: 当然,其他列也需要相应地重新排序。有没有办法在熊猫里做到这一点? 问题答案: pandas0.15版中对s的改进支持使您可以轻松做到这一点: 如果这只是临时排序,则可能不希望将LSE列保留为a ,但是如果您希望这种排序能够在不同的上下文中使用几次,则是一个很好的解决方案。 在更高版本的,中,已被替换为,
我有一只这样的熊猫 我如何根据集合(例如)中的值对其进行排序 设置顺序=('1','3','2','4') 产量 谢谢