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

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

將選定的數(shù)據(jù)框列轉(zhuǎn)換為矢量表示(包括重復(fù)值)

將選定的數(shù)據(jù)框列轉(zhuǎn)換為矢量表示(包括重復(fù)值)

慕村9548890 2023-03-01 16:46:09
我有以下數(shù)據(jù)框 (product.csv),我想將其轉(zhuǎn)換為矢量表示:product_id,value111,3000121,2500131,3500141,1000111,3300151,2000161,2300171,1300181,1500191,4500121,6000121,1100我的預(yù)期輸出應(yīng)該包括所有行,包括重復(fù)的 product_ids 并且完全按照下面的矢量形式:[111:3000; 121:2500; 131:3500;141:1000;111:3300; 151:2000; 161:2300;171:1300; 181:1500; 191:4500; 121:6000; 121:1100]到目前為止,這是我嘗試過(guò)的:import pandas as pddf = pd.read_csv('product.csv') #, index_col=0, sep=','my_dict_indx = df.set_index('product_id')['value'].to_dict()print(my_dict_indx)my_dict_zip = dict(zip(df.product_id, df.value))print(my_dict_zip)my_dict_groupby = df.groupby(level=0).apply(lambda x: x.to_dict('r')).to_dict()print(my_dict_groupby)但是,兩者my_dict_indx = df.set_index('product_id')['value'].to_dict()都給my_dict_zip = dict(zip(df.product_id, df.value))我以下輸出但排除重復(fù)的 product_ids 111 和 121,不返回正確的順序(例如,輸出以 161:2300 而不是 111:3000 開(kāi)頭):{161: 2300, 131: 3500, 171: 1300, 141: 1000, 111: 3300, 181: 1500, 151: 2000, 121: 1100, 191: 4500}另一方面,在my_dict_groupby = df.groupby(level=0).apply(lambda x: x.to_dict('r')).to_dict()下面給出了正確的記錄數(shù)和正確的順序,但包括不必要的列索引、列名,并且沒(méi)有矢量表示。{0: [{'product_id': 111, 'value': 3000}], 1: [{'product_id': 121, 'value': 2500}], 2: [{'product_id': 131, 'value' : 3500}], 3: [{'product_id': 141, 'value': 1000}], 4: [{'product_id': 111, 'value': 3300}], 5: [{'product_id': 151 , 'value': 2000}], 6: [{'product_id': 161, 'value': 2300}], 7: [{'product_id': 171, 'value': 1300}], 8: [{' product_id': 181, 'value': 1500}], 9: [{'product_id': 191, 'value': 4500}], 10: [{'product_id': 121, 'value': 6000}], 11 : [{'product_id': 121, 'value': 1100}]}我怎樣才能增強(qiáng)我的解決方案,以 [] 向量形式而不是 {} 字典形式實(shí)現(xiàn)我的預(yù)期輸出。提前致謝。
查看完整描述

1 回答

?
慕沐林林

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

我會(huì)創(chuàng)建一個(gè)字符串?dāng)?shù)組,因?yàn)樗侵С帜胍妮敵龈袷降奈ㄒ环椒?。然后你可以?jiǎn)單地使用.values從熊貓系列中獲取列/數(shù)組


df['output_col'] = (df['product_id'].astype(str) + ':' + df['value'].astype(str)).values

輸出:


array(['111:3000', '121:2500', '131:3500', '141:1000', '111:3300',

       '151:2000', '161:2300', '171:1300', '181:1500', '191:4500',

       '121:6000', '121:1100'], dtype=object)

如果您希望將其作為列表而不是數(shù)組,只需在方法.tolist()之后添加即可.values。最后,請(qǐng)記住,在 Python 中,a,用于分隔數(shù)組/列表中的元素,而不是;


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

添加回答

舉報(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)