[英]Sort Pandas Dataframe based on previous row value
I have a dataframe that looks like:我有一个 dataframe 看起来像:
Name Previous Name
Alice NaN
Charlie Bob
Bob Alice
Fred Eddy
Danny Charlie
Eddy Dan
I would like to sort the dataframe so that is looks like:我想对 dataframe 进行排序,如下所示:
Name Previous Name
Alice NaN
Bob Alice
Charlie Bob
Danny Charlie
Eddy Danny
Fred Eddy
I know the boolean test involves something like我知道 boolean 测试涉及类似
dataframe['Value'] = dataframe['PreviousValue'].shift(1)
But how can I use that as a sort criteria?但是我怎样才能将其用作排序标准呢?
EDIT: Changed example from letters to names编辑:将示例从字母更改为名称
Sort of values, then shift:排序值,然后移位:
df = df.sort_values('Value')
df['Previous Value'] = df['Value'].shift()
Output: Output:
Value Previous Value
0 A NaN
2 B A
1 C B
4 D C
5 E D
3 F E
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.