【问题标题】:Pandas: Using a pd.Series to sort a pd.DataFrame with indexPandas:使用 pd.Series 对带有索引的 pd.DataFrame 进行排序
【发布时间】:2013-02-07 15:30:06
【问题描述】:

我正在尝试按另一个按特定顺序排序的系列对 DataFrame(轴 = 0)进行排序。

示例: DataFrame 包含 CountryCodes 的索引:'AUS'、'BWA' ....(按字母顺序排序) 系列包含 CountryCodes 列表及其相关的 GDP(按 GDP 排序)

我可以使用 DataFrame.join(Series) 没问题,然后对列“GDP”进行排序,然后对 del DF['GDP'] 进行排序,但是有没有办法直接这样做而不加入结构?

【问题讨论】:

  • 您应该提供一个简短的示例 df、系列和所需结果以及一些描述您已经尝试过的代码。

标签: python pandas


【解决方案1】:

您可以通过(排序的)系列的索引reindex

In [1]: df = pd.DataFrame([[1, 2], [3, 4]], index=list('ab'))

In [2]: s = pd.Series([2,1], index=list('ab'))

In [3]: s
Out[3]: 
a    2
b    1

In [4]: s.sort()

In [5]: df.reindex(s.index)
Out[5]: 
   0  1
b  3  4
a  1  2

【讨论】:

    猜你喜欢
    • 2020-11-01
    • 2019-10-12
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    相关资源
    最近更新 更多