如何将Dataframe中(B,C)和(D,E)列的行转换为列表?
将DataFrame指定列的行转换为列表
原始DataFrame
| A | B | C | D | E |
|---|---|---|---|---|
| a | 3 | 5 | 7 | 9 |
| b | 4 | 6 | 8 | 10 |
实现代码
import pandas as pd # 构造原始DataFrame df = pd.DataFrame({ 'A': ['a', 'b'], 'B': [3, 4], 'C': [5, 6], 'D': [7, 8], 'E': [9, 10] }) # 按行将B、C列合并为列表,D、E列合并为列表 df['BC'] = df[['B', 'C']].apply(list, axis=1) df['DE'] = df[['D', 'E']].apply(list, axis=1) # 保留目标列生成结果 result_df = df[['A', 'BC', 'DE']] print(result_df)
预期输出
| A | BC | DE |
|---|---|---|
| a | [3, 5] | [7, 9] |
| b | [4, 6] | [8, 10] |
关键说明
apply(list, axis=1):指定按行(axis=1)将选中的多列元素转换为列表- 最后通过列索引筛选,保留需要的列即可得到目标结构
内容的提问来源于stack exchange,提问作者Vyshnavi
相关产品推荐
相关产品推荐

