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

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

如何在pandas中unstack之前動態(tài)重命名列?

如何在pandas中unstack之前動態(tài)重命名列?

慕容3067478 2021-06-08 21:18:54
我使用 groupby 和 sum 創(chuàng)建了以下數(shù)據(jù)框:-year_month  Country           2008-01     Afghanistan             2            Albania                 3            Argentina               42008-02     Afghanistan             3            Albania                 4            Argentina               5我需要取消堆疊并希望將 name 重命名為 der_value_Afghanistan、der_value_Albania 等作為列名而不是阿富汗等。由于它可能是 100 或更多,有沒有辦法將其全部重命名而不是手動重命名?year_month der_value_Afghanistan der_value_Albania der_value_Argentina
查看完整描述

2 回答

?
慕婉清6462132

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

我認(rèn)為需要Series.unstackDataFrame.add_prefix

df = s.unstack().add_prefix('der_value_')

print (df)

Country     der_value_Afghanistan  der_value_Albania  der_value_Argentina

year_month                                                               

2008-01                         2                  3                    4

2008-02                         3                  4                    5

對于index列加DataFrame.rename_axisDataFrame.reset_index

df = s.unstack().add_prefix('der_value_').rename_axis(None, axis=1).reset_index()

print (df)

  year_month  der_value_Afghanistan  der_value_Albania  der_value_Argentina

0    2008-01                      2                  3                    4

1    2008-02                      3                  4                    5

修改MultiInex前,unstack也可以通過MultiIndex.from_arrays

a = s.index.get_level_values(0)

b = 'der_value_' + s.index.get_level_values(1)

s.index = pd.MultiIndex.from_arrays([a, b], names=s.index.names)

print (s)

year_month  Country              

2008-01     der_value_Afghanistan    2

            der_value_Albania        3

            der_value_Argentina      4

2008-02     der_value_Afghanistan    3

            der_value_Albania        4

            der_value_Argentina      5

Name: a, dtype: int64


df = s.unstack()

print (df)

Country     der_value_Afghanistan  der_value_Albania  der_value_Argentina

year_month                                                               

2008-01                         2                  3                    4

2008-02                         3                  4                    5


查看完整回答
反對 回復(fù) 2021-06-09
?
不負相思意

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

創(chuàng)造性地使用 MultiIndex 內(nèi)部結(jié)構(gòu)

idx, cols = s.index.levels

i, j = s.index.labels


v = np.zeros((len(idx), len(cols)), dtype=s.dtype)

v[i, j] = s



pd.DataFrame(

    np.column_stack([idx, v]),

    columns=np.append('year_month', 'der_value_' + cols)

)


  year_month der_value_Afghanistan der_value_Albania der_value_Argentina

0    2008-01                     2                 3                   4

1    2008-02                     3                 4                   5


查看完整回答
反對 回復(fù) 2021-06-09
  • 2 回答
  • 0 關(guān)注
  • 310 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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