背景:
Pandas中的某一列的列值是列表,现在需要将数据按照该列拆分成多行
解决方法:
利用explode函数,explode函数用于将一个包含列表、Series或者其他可迭代对象的列拆分成多行。每个元素将会在新的行中重复,同时保留其他列的值。
import pandas as pd
# 创建一个包含列表的DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Hobbies': [['reading', 'cooking'], ['hiking'], ['painting', 'gardening']]}
df = pd.DataFrame(data)
# 使用explode函数拆分Hobbies列
df_exploded = df.explode('Hobbies')
print(df_exploded)
输出结果:
Name Hobbies
0 Alice reading
0 Alice cooking
1 Bob hiking
2 Charlie painting
2 Charlie gardening