python - 根据其他列的唯一值重命名列值
问题描述
给定一个数据框:
df =
id_easy ordinal weekday
0 0 1 Tuesday
1 0 2 Monday
2 0 3 Monday
3 1 1 Saturday
4 1 2 Tuesday
我想检查:
- 在每个唯一
id_easy
值中,将weekday
列重命名为其值 whenordinal
is1
。
期望的输出:
df =
id_easy ordinal weekday
0 0 1 Tuesday # as this is Tuesday
1 0 2 Tuesday # so this became Tuesday as well
2 0 3 Tuesday # so this became Tuesday as well
3 1 1 Saturday # as this is Saturday
4 1 2 Saturday # so this became Saturday as well
解决方案
您可以使用groupby
:
df.weekday = df.groupby('id_easy')['weekday'].transform('first')
输出:
id_easy ordinal weekday
0 0 1 Tuesday
1 0 2 Tuesday
2 0 3 Tuesday
3 1 1 Saturday
4 1 2 Saturday
推荐阅读
- webpack - 如何避免在生产构建中给出垃圾名称
- python - 如何在 Mac 上正确安装 virtualenvwrapper?
- reactjs - 我有一个 react native 组件,我正在尝试通过 connect 将该组件连接到 react-redux,但出现错误
- android - 可运行与服务;用用例解释寿命
- javascript - 将文件从输入元素传递到 plupload(添加文件夹)
- ios - 这里有人知道如何解决“传递给不带参数的调用的参数”吗?
- html - 如何在标题上方制作段落层
- android - 每 5 分钟添加一次价值并重置 textview
- wordpress - Wordpress 的图像遮罩模块
- p5.js - 错误创建画布未定义-尝试保存示例项目时