pandas 在 Dataframe 的不同列中附加不同大小的列表

cnh2zyt3  于 2022-12-09  发布在  其他
关注(0)|答案(1)|浏览(126)
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)

Output :
a   b
1   NA
2   NA
NA  2
NA  3
NA  4

我希望这两个列表的输出都在同一行中,而这个不同的列表在特定的列中。

wpcxdonn

wpcxdonn1#

如果将concataxis=1一起使用,则稍后可以使用列表中的附加值解决方案:

main = pd.DataFrame()
main = pd.concat([main, pd.DataFrame(list1, columns=['a'])], axis=1)
main = pd.concat([main, pd.DataFrame(list2, columns=['b'])], axis=1)
print (main)
     a  b
0  1.0  2
1  2.0  3
2  NaN  4

如果可能,请先使用Series创建DataFrame,方法是:

main = pd.DataFrame({'a':pd.Series(list1), 'b':pd.Series(list2)})
print (main)
     a  b
0  1.0  2
1  2.0  3
2  NaN  4

相关问题