Python中如何将DataFrame列的列表拆分为多行(数据整理)
拆分Pandas DataFrame中列表类型列为多行的方法
针对你提供的video_df,直接用Pandas的explode()方法就能快速实现需求——把tags列的每个标签拆成单独一行,同时保留其他列的对应数据:
# 核心操作:拆分tags列为多行 result_df = video_df.explode('tags')
效果说明
- 列表中的每个标签会生成独立一行,原行的
channelTitle和video_id会自动重复对应 - 原数据中
tags为NaN的行(比如第3条)会保留原样
执行后得到的结果如下:
| channelTitle | video_id | tags | |
|---|---|---|---|
| 0 | Channel1 | ojPuGJaiVjE | tag3 |
| 0 | Channel1 | ojPuGJaiVjE | tag4 |
| 0 | Channel1 | ojPuGJaiVjE | tag5 |
| 1 | Channel1 | NdWI3sov93I | tag1 |
| 1 | Channel1 | NdWI3sov93I | tag4 |
| 2 | Channel1 | 67PYna-rScE | tag1 |
| 2 | Channel1 | 67PYna-rScE | tag2 |
| 2 | Channel1 | 67PYna-rScE | tag3 |
| 2 | Channel1 | 67PYna-rScE | tag5 |
| 3 | Channel2 | lNoDeZzn_4o | NaN |
| 4 | Channel3 | QJSOGP-nJto | tag3 |
可选:删除无标签的行
如果不需要保留tags为NaN的记录,可以在拆分后追加dropna()操作:
result_df = video_df.explode('tags').dropna(subset=['tags'])
内容的提问来源于stack exchange,提问作者weizer
相关产品推荐
相关产品推荐

