python - 根据索引交换单元格值
问题描述
给定数据框df
:
Team Points For Points Against
0 United 36 51
1 City 56 30
2 Liverpool 28 45
3 Chelsea 24 24
...
我需要为每一对或每一行 (0, 1), (2, 3) 交换一列 ('Points Against') 上的单元格值......这样:
指数处的“反对点”与loc
指数处的1
“反对点”互换,loc
0
指数处的“反对点”与loc
指数处的3
“反对点”互换,依此类推,loc
2
结束于:
Team Points For Points Against
0 United 36 30
1 City 56 51
2 Liverpool 28 24
3 Chelsea 24 45
...
我如何用熊猫做到这一点?
解决方案
这是一种可能的方式:
df['Points Against'] = df[['Points Against']].groupby(
(df.index.to_series()/2).astype(int)
).transform(lambda x: x[::-1])
另一个可能是上下移动(创建两个新列)并根据索引的奇数选择一个或另一个。
您应该对内存和/或进程密集型如何成为这些替代方案进行一些测试。
推荐阅读
- javascript - .js 创建(由 Webassembly 和 emscripten)只工作一次
- javascript - ExpressJS - 不会将新用户发布到 MongoDB(500 内部服务器错误)
- networking - 内网跨网段组播
- javascript - 如何在动态生成的 Rails 表上创建 JS 函数
- javascript - 如何从复选框中获取值并使用 jquery ajax 输入
- php - Avada 自定义元素创建
- .net - 不清楚要为 '@import 导入哪个文件
- memory-management - 了解页面大小
- linux - 为什么“>”覆盖日志对我不起作用?
- ruby-on-rails - 无模型控制器的 Rails CanCanCan 能力问题