簡體   English   中英

將 Python 列表轉換為帶索引的 Dataframe

[英]Convert Python List into Dataframe with Index

我有一個大的 python 列表,其中包含許多格式的字符串

list = ['state1', 'town1','town2','town3', 'state2', 'town4', 'state3', 'town5','town6']

每個 state 都有不同數量的城鎮。

我怎樣才能讓它嵌套,所以它看起來像:

list = [['state1', 'town1','town2','town3'], ['state2', 'town4'],['state3', 'town5','town6']

然后從那里把這個列表變成一個 dataframe ,其中州作為索引,城鎮作為單列?

讓我們將列表視為:

lst = [['state', 'town','town','town'], ['state', 'town'],['state', 'town','town']]

要將其轉換為 dataframe 並以 state 作為索引:

df=pd.DataFrame(lst).set_index(0, drop=True)

Output:

0        1       2       3
            
state   town    town    town
state   town    None    None
state   town    town    None

因此,讓我們首先看一些列表示例:

state_lst = ['California', 'New Mexico', 'Arizona', 'etc.']
state_town_lst = ['California', 'San Francisco', 'Los Angeles', 'San Diego', 'New Mexico', 'Albuquerque', 'Santa Fe', 'Arizona', 'Tucson']
town_lst =[]

如您所見,加州應該有三個城市,新墨西哥州應該有兩個城市,亞利桑那州應該有一個。 所以我們通過state_town_lst檢查項目是否出現在state_lst中。

for item in state_town_lst:
    if item in state_lst:
        state = item
        continue
    else:
        town = item
        
    town_item = (state, town)
    town_lst.append(town_item)
    
df = pd.DataFrame(town_lst, columns = ["State", "Town"])

這給了你:

    State       Town
0   California  San Francisco
1   California  Los Angeles
2   California  San Diego
3   New Mexico  Albuquerque
4   New Mexico  Santa Fe
5   Arizona     Tucson

暫無
暫無

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

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