【问题标题】:Merging whilst keeping order in R and pandas在 R 和 pandas 中保持秩序的同时合并
【发布时间】:2013-03-30 13:10:56
【问题描述】:

我使用这个(有点笨拙的)R 函数来合并 data.frames 并保持其中一个的顺序:

MergeMaintainingOrder = function(Ordered,Unordered,ByWhatColumn){
  Ordered$TEMPINDEX = 1:length(Ordered[,1])
  MergedData = merge(Ordered,Unordered,by=ByWhatColumn)
  MergedData = MergedData[order(MergedData$TEMPINDEX),]
  MergedData$TEMPINDEX = NULL
  return(MergedData)
}

我怎样才能在 pandas 中完成同样的事情?有没有更简单的方法或者我应该重写相同的函数?

谢谢,

-N

【问题讨论】:

    标签: python r dataframe pandas


    【解决方案1】:

    在 pandas 中,合并会重置索引,但您可以通过在执行合并之前重置索引来轻松解决此问题。重置索引将创建一个名为“index”的新列,然后您可以在合并后使用该列重新创建索引。例如:

    Ordered.reset_index().merge(Ordered, Unordered, on=ByWhatColumn).set_index('index')
    

    更多讨论请参见question/answer(向@WouterOvermeire 致敬)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 2018-11-08
      相关资源
      最近更新 更多