在python中如何将列中的字符串值匹配到其他列名

2024-09-30 20:25:29 发布

您现在位置:Python中文网/ 问答频道 /正文

数据帧:

^{tb1}$

我想要的是:

^{tb2}$

我的数据框架不包括动作、喜剧和其他栏目。有没有什么方法可以做到这一点?例如,第一部电影包括动作片、喜剧和冒险片。然后转到相应的列名并将其设置为1


Tags: 数据方法框架电影冒险动作栏目tb2
1条回答
网友
1楼 · 发布于 2024-09-30 20:25:29

试试这个:

df_original = df.copy()
df['movieCater'] = df['movieCater'].str.split(', ')
df = df.explode('movieCater')
df['value'] = 1
df_original.join(df.pivot(columns=['movieCater'], values=['value']).fillna(0).droplevel(0,axis=1))

#   MovieID                 movieCater  Action  Adventure  Comedy  Crime
# 0        1  Action, Comedy, Adventure     1.0        1.0     1.0    0.0
# 1        2              Action, Crime     1.0        0.0     0.0    1.0
# 2        3                      Crime     0.0        0.0     0.0    1.0

相关问题 更多 >