Pandas2.2 Series
Computations descriptive stats
方法 | 描述 |
---|---|
Series.argsort([axis, kind, order, stable]) | 用于返回 Series 中元素排序后的索引位置的方法 |
Series.argmin([axis, skipna]) | 用于返回 Series 中最小值索引位置的方法 |
Series.argmax([axis, skipna]) | 用于返回 Series 中最大值索引位置的方法 |
Series.reorder_levels(order) | 用于重新排列 Series 中多层索引(MultiIndex)层级顺序的方法 |
Series.sort_values(*[, axis, ascending, …]) | 用于对 Series 中的值进行排序的方法 |
Series.sort_index(*[, axis, level, …]) | 用于根据索引对 Series 进行排序 |
Series.swaplevel([i, j, copy]) | 用于交换 MultiIndex 中的两个级别 |
Series.unstack([level, fill_value, sort]) | 用于将 MultiIndex 中的一个或多个级别“旋转”为列 |
Series.explode([ignore_index] ) | 用于将 Series 中的每个元素(如果是一个列表或数组)展开为多行 |
pandas.Series.explode
pandas.Series.explode
方法用于将 Series
中的每个元素(如果是一个列表或数组)展开为多行。具体来说,如果某个元素是列表或数组,则将其拆分为多个单独的行,而原始索引会被重复使用。
参数说明
- ignore_index:布尔值,默认为 False。如果为 True,则忽略原始索引,生成一个新的默认整数索引。
示例及结果
import pandas as pd# 创建一个包含列表元素的 Series
s = pd.Series([[1, 2, 3], [4, 5], [6]], index=['a', 'b', 'c'])print("原始 Series:")
print(s)# 使用 explode 展开列表元素
exploded_s = s.explode()print("\n展开后的 Series:")
print(exploded_s)# 使用 ignore_index=True 忽略原始索引
exploded_s_ignore_index = s.explode(ignore_index=True)print("\n忽略原始索引后展开的 Series:")
print(exploded_s_ignore_index)
输出结果
原始 Series:
a [1, 2, 3]
b [4, 5]
c [6]
dtype: object展开后的 Series:
a 1
a 2
a 3
b 4
b 5
c 6
dtype: object忽略原始索引后展开的 Series:
0 1
1 2
2 3
3 4
4 5
5 6
dtype: object
通过上述代码和输出结果可以看到,explode
方法可以有效地将 Series
中的每个列表元素展开为多行,并且可以通过设置 ignore_index
参数来控制是否保留原始索引。
注意事项
- 如果
Series
中的元素不是列表或数组类型,则不会被展开。 - 如果某个元素是空列表,则对应的行在展开后会被删除。
explode
方法适用于处理嵌套结构的数据,例如列表、元组等可迭代对象。