我使用此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)
}
如何在熊猫中完成同一件事?有没有那么简单的方法,还是应该只重写相同的函数?
谢谢,
-N
最佳答案
在熊猫中,合并会重置索引,但是您可以通过在合并之前重置索引来轻松解决此问题。重置索引将创建一个称为“索引”的新列,然后您可以在合并后使用它重新创建索引。例如:
Ordered.reset_index().merge(Ordered, Unordered, on=ByWhatColumn).set_index('index')
请参阅此question/answer以获取更多讨论(@WouterOvermeire的技巧提示)
关于python - 合并并保持R和 Pandas 的秩序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15718908/