pandas explode
时间: 2023-08-09 16:09:50 浏览: 129
Pandas中的`explode`函数用于扩展(展开)DataFrame中某一列的列表或字符串元素。通过使用`explode`函数,可以将包含列表或字符串的单元格拆分为多行,每行包含一个元素。具体使用方法如下:
做法一:
```pythonimport pandas as pddf = pd.DataFrame({'a': ['a', 'b'], 'b': ['1,2,3,', '4,5,6']})
df['b'] = df.b.str.split(',')
df = df.explode('b')
```
做法二:
```pythonimport pandas as pddf = pd.DataFrame({'a': ['a', 'b'], 'b': ['1,2,3,', '4,5,6']})
df = df.assign(b=df.b.str.split(',')).explode('b')
```
在以上两种方法中,首先使用`str.split()`函数将字符串按逗号进行拆分,并赋值给列`b`。然后使用`explode`函数将列表拆分为多行,每行包含一个元素。
另外,如果要将DataFrame中包含列表的列展开,可以使用以下方法:
```pythonimport pandas as pddf = pd.DataFrame({
'A': ['a', 'b', 'c', 'd', 'e'],
'B': [[1], [2,4], [4,5,6], [], [7]]
})
df = df.explode('B')
```
以上代码中,使用`explode`函数将列`B`中的列表元素展开为多行。每个列表中的元素将成为DataFrame中的一行。
参考资料:
pandas dataframe 中的explode函数用法详解 - Python技术站 官方文档 - pandas.DataFrame.explode pandas explode函数示例 - 知乎
阅读全文