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

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

獲取 Pandas 數(shù)據(jù)框中列的值,將數(shù)字添加到值并另存為新數(shù)據(jù)框

獲取 Pandas 數(shù)據(jù)框中列的值,將數(shù)字添加到值并另存為新數(shù)據(jù)框

白衣非少年 2021-11-02 13:54:28
所以我基本上有一個 Pandas 數(shù)據(jù)框df看起來像這樣:      0     1  0  123   234  1  534   42  2  213   687  3  425   123 ... 20  我想要做的是取第 1 列的值,添加從 00 到 20 的所有數(shù)字,并將其保存在一個新的數(shù)據(jù)框newdf 中,并使用第 0 列的相應(yīng)值。輸出應(yīng)該如下所示:      0     1  0  123   23400  1  123   23401  2  123   23402  3  123   23403    ...  20  123   23420 21  534   4200 ...我知道我必須使用循環(huán),但我完全不知道如何實現(xiàn)我想要的。這是我到目前為止想出的:newdf = pd.DataFrame()for x in df[1]:    for y in range(len(df)):        for one in range(0,9):            newdf.append(df.iloc[y,0], df.iloc[y,1])        for two in range(10,20):            newdf.append(df.iloc[y,0], df.iloc[y,1])這缺少將 00 到 20 的數(shù)字添加到第二列中的值的部分,因為我什至無法讓它工作。我希望這個問題是可以理解的。如果我在這篇文章中做錯了什么,請告訴我!
查看完整描述

1 回答

?
眼眸繁星

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

您可以通過首先在 DataFrame 和后綴上執(zhí)行CROSS JOIN(笛卡爾積)來做到這一點。


u = pd.DataFrame(dict(suf=range(20), key=1))

v = df.assign(key=1).merge(u, on='key').drop('key', 1)


v.iloc[:,1] = v.iloc[:,1].astype(str).add(

    v.pop('suf').astype(str).str.zfill(2)).astype(int)

v.head()


     0      1

0  123  23400

1  123  23401

2  123  23402

3  123  23403

4  123  23404


查看完整回答
反對 回復(fù) 2021-11-02
  • 1 回答
  • 0 關(guān)注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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