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

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

如何將列的值轉(zhuǎn)換為行-dataframgroupby

如何將列的值轉(zhuǎn)換為行-dataframgroupby

白豬掌柜的 2023-07-11 15:17:19
我有一張“借款人個(gè)人ID”和“貸款I(lǐng)D”表。BwrPersonld LoanId113225  16330113225  27073113225  68842113253  16341113269  16348113285  16354113289  26768113297  16360113299  16361113319  16369113418  16403113418  26854我想知道哪些貸款屬于同一借款人。所以我“groupby”“BwrPersonalId”和“LoanId”,如下所示?,F(xiàn)在我就這樣期待著。這是我的代碼,但它不起作用。grouped = pd.DataFrame()unique = loan['BwrPersonId'].unique()grouped['BwrPersonId'] = ''*len(loan['BwrPersonId'].unique())grouped['Loan1'] = ''grouped['Loan2'] = ''grouped['Loan3'] = ''grouped['Loan4'] = ''grouped['Loan5'] = ''grouped.iloc[:,0] = uniquefor i in grouped.index:    idloan = loan.loc[loan['BwrPersonId'] == unique[i], 'LoanId']    grouped.iloc[i,1:len(idloan)+1] = idloan    print(i)我現(xiàn)在該怎么做呢?還有其他方法可以簡(jiǎn)化代碼嗎?非常感謝你的幫助。
查看完整描述

1 回答

?
一只甜甜圈

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

基本上,您需要做的是創(chuàng)建一個(gè)臨時(shí)變量,該臨時(shí)變量將使用要排序的數(shù)據(jù),以及負(fù)責(zé) Id 的名稱,以便根據(jù)貸款對(duì) Id 進(jìn)行排序。


import pandas as pd

import numpy as np

from collections import defaultdict

from itertools import count


dict = defaultdict(count)

id, name = pd.factorize([*zip(grouped.id, grouped.name)])

joined = np.array([next(dict[x]) for x in id])

lenOfr, Max = len(name), joined.max() + 1

temp = np.empty((lenOfr, Max), dtype=np.object)

temp[id, joined] = grouped.LoanId

df1 = pd.DataFrame(name.tolist(), columns=['BwrPersonId'])

df2 = pd.DataFrame(temp, columns=['Loan1', 'Loan2', 'Loan3', 'Loan4', 'Loan5'])

final = df1.join(df2)


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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