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
方法適用于處理嵌套結構的數據,例如列表、元組等可迭代對象。