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

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

Pandas:使用混合數(shù)據(jù)類型對(duì)多索引數(shù)據(jù)框的多級(jí)列進(jìn)行排序

Pandas:使用混合數(shù)據(jù)類型對(duì)多索引數(shù)據(jù)框的多級(jí)列進(jìn)行排序

SMILET 2024-01-16 15:33:17
下面是我的數(shù)據(jù)框:In [2804]: df = pd.DataFrame({'A':[1,2,3,4,5,6], 'D':[{"value": '126', "perc": None, "unit": None}, {"value": 324, "perc": None, "unit": None}, {"value": 'N/A', "perc": None, "unit": None}, {}, {"value": '100', "perc": None, "unit": None}, np.nan]})In [2794]: df.columns = pd.MultiIndex.from_product([df.columns, ['E']])In [2807]: dfOut[2807]:    A                                             D   E                                             E0  1  {'value': '126', 'perc': None, 'unit': None}1  2    {'value': 324, 'perc': None, 'unit': None}2  3  {'value': 'N/A', 'perc': None, 'unit': None}3  4                                            {}4  5  {'value': '100', 'perc': None, 'unit': None}5  6                                           NaN我需要根據(jù)來(lái)自 的鍵(D,E)按降序?qū)в兴饕亩嗉?jí)列進(jìn)行排序。valuedict正如您所看到的,valuekey 可以具有混合數(shù)據(jù)類型的值,例如int, string或 為空,例如{}, 或NaN。N/A并且Nan值應(yīng)該始終在排序后出現(xiàn)在最后(asc 和 desc)。預(yù)期輸出:In [2814]: df1 = pd.DataFrame({'A':[2,1,5,3,4,6], 'D':[{"value": 324, "perc": None, "unit": None}, {"value": '126', "perc": None, "unit": None}, {"value": '100', "perc": None, "unit": None}, {"value": 'N/A', "perc": None, "unit": None}, {},np.nan]})In [2799]: df1.columns = pd.MultiIndex.from_product([df1.columns, ['E']])In [2811]: df1Out[2811]:    A                                             D   E                                             E0  2    {'value': 324, 'perc': None, 'unit': None}1  1  {'value': '126', 'perc': None, 'unit': None}2  5  {'value': '100', 'perc': None, 'unit': None}3  3  {'value': 'N/A', 'perc': None, 'unit': None}4  4                                            {}5  6                                           NaN
查看完整描述

1 回答

?
白衣染霜花

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

創(chuàng)建由數(shù)字填充的輔助列并按此列排序:


df['tmp'] = pd.to_numeric(df[('D','E')].str.get('value'), errors='coerce')

df1 = df.sort_values('tmp', ascending=False).drop('tmp', axis=1)

print (df1)

   A                                             D

   E                                             E

1  2    {'value': 324, 'perc': None, 'unit': None}

0  1  {'value': '126', 'perc': None, 'unit': None}

4  5  {'value': '100', 'perc': None, 'unit': None}

2  3  {'value': 'N/A', 'perc': None, 'unit': None}

3  4                                            {}

5  6                                           NaN

df1 = df.sort_values('tmp').drop('tmp', axis=1)

print (df1)

   A                                             D

   E                                             E

4  5  {'value': '100', 'perc': None, 'unit': None}

0  1  {'value': '126', 'perc': None, 'unit': None}

1  2    {'value': 324, 'perc': None, 'unit': None}

2  3  {'value': 'N/A', 'perc': None, 'unit': None}

3  4                                            {}

5  6                                           NaN


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

添加回答

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