python - 使用 Python 根据后缀重塑数据框
问题描述
我需要根据 X 列的后缀“重塑”数据框。
X Y
a_1 12
b_1 20
c_1 30
a_2 2
b_2 56
c_2 70
d_2 2
并获得:
_1 _2
a 12 2
b 20 56
c 30 70
d 0 2
提前谢谢了
解决方案
这是使用的一种方法pivot
:
(df.X.str.split(r'_', expand=True)
.assign(y=df.Y.values)
.pivot(0,1,'y')
.fillna(0)
.astype(int))
1 1 2
0
a 12 2
b 20 56
c 30 70
d 0 2
推荐阅读
- python - 如何从字典列表中获取值并追加
- docker - 使用官方 Docker 镜像运行 JanusGraph 时,如何设置 graph.set-vertex-id=true ?
- python - 运行测试时看到 ModuleNotFoundError
- firebase - 仅为登录 Flutter 应用程序的用户检索 Cloud Firestore 数据
- java - 为什么使用 println 方法的多线程可见性问题表现不同
- regex - 动态添加时 validators.pattern 中的角度问题
- opengl - 从 glsl 移动到金属时如何转换 sampler2D?
- android - 在 Android 应用程序中单击按钮后,我们如何从开放天气 API 更新信息
- html - 如何将图像放在 div 旁边?
- python - 使用 CMake 安装 OpenCV