You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas DataFrame不同列中对齐追加不同长度列表?

将不同长度列表对应放入DataFrame指定列

现有代码

list1 = [1, 2] 
list2 = [2, 3, 4]

main = pd.DataFrame(columns=['a','b'])
main = main.append(pd.DataFrame(list1, columns=['a']), ignore_index=True)
main = main.append(pd.DataFrame(list2, columns=['b']), ignore_index=True)

当前输出

a    b
0  1.0  NaN
1  2.0  NaN
2  NaN  2.0
3  NaN  3.0
4  NaN  4.0

期望效果

让两个列表的元素对应到同一行展示,短列表的后续行对应列自动补NaN,即目标输出为:

a    b
0  1.0  2.0
1  2.0  3.0
2  NaN  4.0

解决方案

方法一:直接用字典构造DataFrame

pandas会自动按索引对齐两个列表的元素,长度不足的列自动填充NaN:

import pandas as pd

list1 = [1, 2] 
list2 = [2, 3, 4]

main = pd.DataFrame({'a': list1, 'b': list2})

方法二:用Series构造列后合并

如果需要分步处理列数据,可以先将列表转为Series,再按列合并:

import pandas as pd

list1 = [1, 2] 
list2 = [2, 3, 4]

col_a = pd.Series(list1, name='a')
col_b = pd.Series(list2, name='b')
main = pd.concat([col_a, col_b], axis=1)

原代码中append方法是将两个DataFrame按行拼接,所以会出现上下堆叠的情况,而上述两种方法是按索引对齐列元素,能满足同行展示的需求。

内容的提问来源于stack exchange,提问作者fenil savani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:10:24