python - 如何在 DataFrame 列中“关闭”匹配对
问题描述
说我有一个df:
src dest
LV NC
LA NY
NC LV
NY LA
如何“关闭”唯一的 src/dest 对,以便可以像这样在新列中引用它们?
src dest pair
LV NC 1
LA NY 2
NC LV 1
NY LA 2
df = pd.DataFrame({'src':['LV','LA','NC','NY'], 'dest':['NC', 'NY', 'LV', 'LA']})
解决方案
您可以对数据进行排序并使用groupby().ngroup()
:
df['pair'] = (pd.DataFrame(np.sort(df, axis=1))
.groupby([0,1], sort=False).ngroup() + 1
)
输出:
src dest pair
0 LV NC 1
1 LA NY 2
2 NC LV 1
3 NY LA 2
推荐阅读
- node.js - 未找到 EmailInstructorsComponent 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?
- arrays - 我想通过 pymongo 的字段对数组中的项目进行排序
- python - 通过具有重复索引的索引合并(或连接)两个数据帧
- typescript - 自动继承箭头函数参数类型
- javascript - Nodemon 没有重新执行我在本地进行的更改
- java - for循环减少循环中的变量
- chirp - 接收回调没有被触发例如 example.py
- java - 将多级括号之间的字符串解析为节点
- android - 在 xamarin 表单中使用 Confluent kafka
- javascript - Google 驱动器和 Firebase Google 身份验证信息 ionic