为了账号安全,请及时绑定邮箱和手机立即绑定

从两个不同大小的列创建两列

从两个不同大小的列创建两列

开心每一天1111 2022-05-19 14:05:55
我正在尝试从两个列表中创建两列。我尝试使用 zip 构建 DataFrame 并插入列表,但较大的列表被切断了。import pandas as pdlist1 = ['new book revealing', 'library for topic modelling']list2 = ['potentially embarrassing', 'several international', 'daily newspaper'] df = pd.DataFrame(list(zip(list1, list2)), columns =['list1', 'list2']) 我的输出:                 list1            list20   new book revealing            potentially embarrassing1   library for topic modelling   several international良好的输出:                 list1            list20   new book revealing            potentially embarrassing1   library for topic modelling   several international 2                                 daily newspaper
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您可以使用pd.DataFrame.from_records和转置:


df = pd.DataFrame.from_records([list1, list2]).T.fillna('')

# df.columns = ['list1', 'list2']


                    0                         1

0           new book revealing  potentially embarrassing

1  library for topic modelling     several international

2                                      daily newspaper


查看完整回答
反对 回复 2022-05-19
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

一种方法是使用zip_longest:


import itertools

pd.DataFrame(itertools.zip_longest(list1, list2), columns =['list1', 'list2']) 

                        list1                     list2

0           new book revealing  potentially embarrassing

1  library for topic modelling     several international

2                         None           daily newspaper


查看完整回答
反对 回复 2022-05-19
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

您可以构建水平df,然后转置。


pd.DataFrame([list1, list2], index=['list1', 'list2']).T.fillna('')


    list1                       list2

0   new book revealing          potentially embarrassing

1   library for topic modelling several international

2                               daily newspaper


查看完整回答
反对 回复 2022-05-19
  • 3 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信