python - 根据前一行值对 Pandas Dataframe 进行排序
问题描述
我有一个看起来像这样的数据框:
Name Previous Name
Alice NaN
Charlie Bob
Bob Alice
Fred Eddy
Danny Charlie
Eddy Dan
我想对数据框进行排序,如下所示:
Name Previous Name
Alice NaN
Bob Alice
Charlie Bob
Danny Charlie
Eddy Danny
Fred Eddy
我知道布尔测试涉及类似
dataframe['Value'] = dataframe['PreviousValue'].shift(1)
但是我怎样才能将其用作排序标准呢?
编辑:将示例从字母更改为名称
解决方案
排序值,然后移位:
df = df.sort_values('Value')
df['Previous Value'] = df['Value'].shift()
输出:
Value Previous Value
0 A NaN
2 B A
1 C B
4 D C
5 E D
3 F E
推荐阅读
- android - Android 从导航抽屉打开 AlertDialog
- c++ - 目标名称“C:/path/to/lib/file.lib”对于某些 CMake 功能是保留的或无效的
- angular - 如何在最新版本的 Ionic Angular 中使用 Form Action?
- python - Python for 循环声明和行为
- java - ConcurrentModificationException 尽管使用了安全 removeIF
- c# - 线程安全性是否可以防止 ConcurrentBag 中的重复性?
- google-cloud-platform - 使用 gsutil 重命名 GCS 中的文件夹
- r - 将多个变量添加到循环中
- onelogin - 使用移动设备访问令牌的无密码身份验证
- c# - Vsto:如何停用插件