DataFrame.explode(self, column: Union[str, Tuple]) [源代码]
将类似列表的每个元素转换为一行,从而复制索引值。
0.25.0版中的新功能。
参数: | column : str或tuple |
返回值: | DataFrame 将列表分解为子列的行;将为这些行复制索引。 |
Raises: | ValueError: 如果框架的列不是唯一的。 |
Notes
此例程将爆炸类似列表的事件,包括列表,元组,系列和np.ndarray。子集行的结果dtype将为object。标量将保持不变。空的类似列表将导致该行的np.nan
例子
1)使用 explode 方法处理包含列表、字符串和空列表的数据
import pandas as pd # 创建 DataFrame df = pd.DataFrame({'A': [[1, 2, 3], 'foo', [], [3, 4]], 'B': 1}) # 打印原始 DataFrame print("原始 DataFrame:") print(df) # 使用 explode 展开 'A' 列 df_exploded = df.explode('A') # 打印展开后的 DataFrame print("\n展开后的 DataFrame:") print(df_exploded)
2)将其中的列表展开成单独的行
import pandas as pd # 创建一个包含列表的 DataFrame data = { 'A': ['A0', 'A1', 'A2'], 'B': [[1, 2, 3], [4, 5], [6]] } df = pd.DataFrame(data) print("原始 DataFrame:") print(df) # 使用 explode 展开 'B' 列 exploded_df = df.explode('B') print("\n展开后的 DataFrame:") print(exploded_df)