📅  最后修改于: 2023-12-03 15:09:32.361000             🧑  作者: Mango
如果您正在处理数据集并需要将 Pandas 数据框中的数据展开为独立的行,那么您来到了正确的地方!在 Python 中,我们可以使用 pandas.DataFrame.explode
方法来展开 Pandas 数据框中的列表、序列或单元格。
语法如下:
DataFrame.explode(column, ignore_index=False)
column
: str 或可迭代对象,用于指定要展开的列。ignore_index
: bool,默认为 False
,如果为 True
,则重置索引。返回一个 Pandas 数据框,其中包含展开后的所有行。
让我们看一个简单的示例:
import pandas as pd
df = pd.DataFrame({
'Tag': ['fruit', 'fruit', 'veggie'],
'Items': [['apple', 'orange'], ['grape'], ['carrot', 'celery']]
})
print(df)
输出:
Tag Items
0 fruit [apple, orange]
1 fruit [grape]
2 veggie [carrot, celery]
现在我们希望将 df
表格中的每个元素(Item)展开为单独的行。我们可以使用 explode
方法来实现这个目标。
df_explode = df.explode('Items')
print(df_explode)
输出:
Tag Items
0 fruit apple
0 fruit orange
1 fruit grape
2 veggie carrot
2 veggie celery
我们可以看到,列表 Items
中的每个元素都被展开为一个单独的行。
explode
的列包含 None
或空列表,则输出表格将包括一行(对应于原始数据框中的一行)。df.explode([col1, col2])
语法,将列名以列表形式传递给 explode
方法。 pandas.DataFrame.explode
方法使我们能够轻松地展开 Pandas 数据框中的列表或单元格,然后将它们转换为独立的行。