第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將列表列表作為列添加到現(xiàn)有數(shù)據(jù)框中

如何將列表列表作為列添加到現(xiàn)有數(shù)據(jù)框中

尚方寶劍之說 2021-10-19 10:30:50
我創(chuàng)建了一個數(shù)據(jù)框“df”,如下所示:   Name0. School1. Organisation 2. Teacher 3. Guest現(xiàn)在我有三個清單1. from=['12','18',['11','10'],['12','4','8']]2. to = [['11','9'],'','8','3']3. status = ['yes','no',['yes','no'],'']我想將這 3 個列表添加到我現(xiàn)有的數(shù)據(jù)框 df 中,它應該如下所示  Name          From   To   Status0. School        12    11   Yes0. School               91. Organisation  18         No2. Teacher       11     8   Yes2. Teacher       10         No3. Guest         12     33. Guest          43. Guest          8我試過了df['from']=from,df['to']=to 但這并沒有像我預期的那樣給我桌子。
查看完整描述

1 回答

?
智慧大石

TA貢獻1946條經(jīng)驗 獲得超3個贊

首先,我們應該用索引壓平列表,然后使用這樣的concat方法pandas:


import pandas as pd

df = pd.DataFrame({"Name":["School","Organisation","Teacher","Guest"]})

From = ['12','18',['11','10'],['12','4','8']]

def flat(nums):

    res = []

    index = []

    for i in range(len(nums)):

        if isinstance(nums[i], list):

            res.extend(nums[i])

            index.extend([i]*len(nums[i]))

        else:

            res.append(nums[i])

            index.append(i)

    return res,index

x="From"

list_flat,list_index=flat(eval(x))

dataframe = pd.DataFrame({x:list_flat},index=list_index)

df = pd.concat([df['Name'],dataframe],axis=1,sort=False)

結(jié)果是:


           Name From

0        School   12

1  Organisation   18

2       Teacher   11

2       Teacher   10

3         Guest   12

3         Guest    4

3         Guest    8


查看完整回答
反對 回復 2021-10-19
  • 1 回答
  • 0 關注
  • 335 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號