python - 使用 split 函数应用:'expand' 是 split() 的无效关键字参数
问题描述
我有以下数据框,
MID C_PG ACT
GOAL PERFORMANCE_GOAL_V2 ['view_goal,view_card']
GOAL PERFORMANCE_GOAL_V2 ['expand,view_goal,select,add_activity']
GOAL PERFORMANCE_GOAL_V2 ['view_goal_list']
我想通过拆分“ACT”列中的字符串并重命名列来将其转换为以下数据框:
MID C_PG step1 step2 step3 step4
GOAL PERFORMANCE_GOAL_V2 view_goal view_card na na
GOAL PERFORMANCE_GOAL_V2 expand view_goal select add_activity
GOAL PERFORMANCE_GOAL_V2 view_goal na na na
我试过的:
df = df.set_index(['MID', 'C_PG']).apply(lambda x: str(x).split(',', expand=True))
但我得到了错误:
'expand' 是 split() 的无效关键字参数
任何人都可以提供解决方案吗?
解决方案
你去,确保import re
首先:
import re
df['ACT'] = df['ACT'].apply(lambda x: re.sub("\[|]|'",'',x))
df = df.join(df['ACT'].str.split(',', expand=True).add_prefix('step')).fillna('na')
df = df.drop(columns=['ACT'])
输出 :
MID C_PG step0 step1 step2 step3
0 GOAL PERFORMANCE_GOAL_V2 view_goal view_card na na
1 GOAL PERFORMANCE_GOAL_V2 expand view_goal select add_activity
2 GOAL PERFORMANCE_GOAL_V2 view_goal_list na na na
推荐阅读
- java - 有没有办法让 JList 的每个项目都有不同的宽度?
- java - 如何在android中打开浏览器并传递POST参数?
- javascript - 如何在 Javascript 中读取包含“https://uswest.xyz.com/@admin?deep_link_id=35&deep_link_type=user”的 URL?
- android - FIDO2 - 获取身份验证器信息问题
- ios - swift中静态tableview单元格中的单选按钮数量
- mysql - MySQLi GROUP BY Column1(当 Column1 = X 时为 Column2)
- javascript - UnhandledPromiseRejectionWarning:未处理的承诺拒绝。警告在量角器控制台中使用 aync 和等待时不受欢迎
- jmeter - 通过 Jmeter 在本地文件中写入信息时遇到错误
- git - 将现有 git repo 添加到 github.com 后,从 github.com 内部不可见
- python - 如何制作交互式图像图(使用散景?)