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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將列表中的索引附加到列表列表以創(chuàng)建 pandas df

將列表中的索引附加到列表列表以創(chuàng)建 pandas df

明月笑刀無(wú)情 2023-01-04 10:26:55
我想知道是否可以從列表列表創(chuàng)建數(shù)據(jù)框,其中 index_list 中的每個(gè)項(xiàng)目都作為索引附加到 lst 中的每個(gè)值:index_list = ['phase1', 'phase2', 'phase3']lst = [['a', 'b', 'c'], ['d', 'e', 'f', 'g'], ['h', 'i', 'j']]感謝您的任何幫助!!編輯:內(nèi)部列表的大小不一定相同。
查看完整描述

2 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

你可以pd.Series.explode在這里使用。

pd.Series(lst,index=index_list).explode()
phase1    a
phase1    b
phase1    c
phase2    d
phase2    e
phase2    f
phase2    g
phase3    h
phase3    i
phase3    j
dtype: object

另一種解決方案使用np.repeatnp.concatenate

r_len = [len(r) for r in lst]
pd.Series(np.concatenate(lst), index=np.repeat(index_list,r_len))

phase1    a
phase1    b
phase1    c
phase2    d
phase2    e
phase2    f
phase2    g
phase3    h
phase3    i
phase3    j
dtype: object

時(shí)間結(jié)果:

In [501]: %%timeit
     ...: pd.Series(lst,index=index_list).explode()
     ...:
     ...:363 μs ± 16.5 μs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

In [503]: %%timeit
     ...: r_len = [len(r) for r in lst]
     ...: pd.Series(np.concatenate(lst), index=np.repeat(index_list,r_len))
     ...:
     ...:
     236 μs ± 17.8 μs per loop (mean ± std. dev. of 7 runs, 1000 loops each)


查看完整回答
反對(duì) 回復(fù) 2023-01-04
?
滄海一幻覺(jué)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

這個(gè)問(wèn)題看起來(lái)類似于 R 的函數(shù),并且在pandas cookbook(頁(yè)面底部)中expand.grid()列出。此函數(shù)允許您使用給定輸入值的所有組合創(chuàng)建數(shù)據(jù)框。


首先定義一個(gè)函數(shù):


def expand_grid(data_dict):

rows = itertools.product(*data_dict.values())

return pd.DataFrame.from_records(rows, columns=data_dict.keys())

然后你可以像這樣使用它:


df = expand_grid({'index': ['phase1', 'phase2', 'phase3'],

'Col1': [['a', 'b', 'c'], ['d', 'e', 'f', 'g'], ['h', 'i', 'j']]})


查看完整回答
反對(duì) 回復(fù) 2023-01-04
  • 2 回答
  • 0 關(guān)注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)