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

我正在尝试从两个列表中创建两列。


我尝试使用 zip 构建 DataFrame 并插入列表,但较大的列表被切断了。


import pandas as pd


list1 = ['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            list2

0   new book revealing            potentially embarrassing

1   library for topic modelling   several international

良好的输出:


                 list1            list2

0   new book revealing            potentially embarrassing

1   library for topic modelling   several international 

2                                 daily newspaper


开心每一天1111
浏览 95回答 3
3回答

猛跑小猪

您可以使用pd.DataFrame.from_records和转置:df = pd.DataFrame.from_records([list1, list2]).T.fillna('')# df.columns = ['list1', 'list2']                    0                         10           new book revealing  potentially embarrassing1  library for topic modelling     several international2                                      daily newspaper

慕的地8271018

一种方法是使用zip_longest:import itertoolspd.DataFrame(itertools.zip_longest(list1, list2), columns =['list1', 'list2'])                         list1                     list20           new book revealing  potentially embarrassing1  library for topic modelling     several international2                         None           daily newspaper

明月笑刀无情

您可以构建水平df,然后转置。pd.DataFrame([list1, list2], index=['list1', 'list2']).T.fillna('')    list1                       list20   new book revealing          potentially embarrassing1   library for topic modelling several international2                               daily newspaper
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python