listdataframe某列是list分别转化成每个list包含元素的列,举例子
时间: 2023-08-09 19:12:14 浏览: 77
假设我们有以下的 DataFrame,其中 `column_with_list` 是一个包含列表的列:
```
import pandas as pd
df = pd.DataFrame({
'id': [1, 2, 3],
'column_with_list': [['a', 'b'], ['c', 'd', 'e'], ['f']]
})
```
我们可以使用 `explode` 方法将列表列中的元素展开,并生成新的行:
```
df = df.explode('column_with_list')
```
这将返回以下 DataFrame:
```
id column_with_list
0 1 a
0 1 b
1 2 c
1 2 d
1 2 e
2 3 f
```
接着,我们可以使用 `pivot_table` 方法将每个元素作为一列,生成新的 DataFrame:
```
df = df.pivot_table(index='id', columns='column_with_list', aggfunc='size', fill_value=0).reset_index()
```
这将返回以下 DataFrame:
```
id a b c d e f
0 1 1 1 0 0 0 0
1 2 0 0 1 1 1 0
2 3 0 0 0 0 0 1
```
在这个新的 DataFrame 中,每个列表中的元素都成为了一列,并且每个元素出现的次数被记录在相应的单元格中。
阅读全文