1

我有一个这样的 csv 文件: 输入数据框

我想将它转换成这样的熊猫数据框: 输出数据框

基本上我正在尝试规范化数据集以填充 sql 表。

我已经使用 json_normalize 从流派列中创建了一个单独的数据集,但我不知道如何转换这两个列,如上图所示。

一些建议将不胜感激。

4

1 回答 1

2

如果genre_id是唯一的数值(如图所示),您可以使用以下内容:

#find all occurrences of digits in the column and convert the list items to comma separated string.
df['genre_id'] = df['genres'].str.findall(r'(\d+)').apply(', '.join)

#use pandas.DataFrame.explode to generate new genre_ids by comma separating them.
df = df.assign(genre_id = df.genre_id.str.split(',')).explode('genre_id') 

#finally remove the extra space
df['genre_id']  = df['genre_id'].str.lstrip() 

#if required create a new dataframe with these 2 columns only
df = df[['id','genre_id']]
于 2020-03-20T17:04:22.553 回答