簡體   English   中英

從兩個大小不同的列創建兩個列

[英]Create two columns from two different sized columns

我試圖從兩個列表中創建兩個列。

我嘗試使用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

一種方法是使用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

您可以使用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

您可以構建水平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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM