listdataframe某列是list转化成每个list包含元素的列
时间: 2023-08-09 21:11:21 浏览: 96
c#使用linq把多列的List转化为只有指定列的List
假设你的 `listdataframe` 如下所示:
```
id list_col
0 1 [a, b, c, d, e]
1 2 [f, g, h, i]
2 3 [j, k]
```
你想将 `list_col` 列中的每个列表拆分成单独的列,可以使用 Pandas 的 `apply` 方法和 `pd.Series` 将每个列表转换为 Series 对象,然后使用 `join` 方法将这些 Series 对象合并到原始 DataFrame 中。具体代码如下:
```python
import pandas as pd
listdataframe = pd.DataFrame({
'id': [1, 2, 3],
'list_col': [['a', 'b', 'c', 'd', 'e'], ['f', 'g', 'h', 'i'], ['j', 'k']]
})
expanded_df = listdataframe['list_col'].apply(pd.Series) \
.add_prefix('col_') \
.join(listdataframe['id'])
print(expanded_df)
```
输出结果如下所示:
```
col_0 col_1 col_2 col_3 col_4 id
0 a b c d e 1
1 f g h i None 2
2 j k None None None 3
```
其中,`add_prefix('col_')` 方法用于给每个新列添加前缀,以便区分不同的列。最后,使用 `join` 方法将 `id` 列合并到新的 DataFrame 中。
阅读全文