2017-10-16 68 views
1

我的問題是類似this one,但我確實需要重命名列,因爲我碎石功能我的數據:大熊貓聚集警告(FutureWarning:使用與重命名的字典已過時)

def series(x): 
    return ','.join(str(item) for item in x) 

agg = { 
    'revenue': ['sum', series], 
    'roi': ['sum', series], 
} 

df.groupby('name').agg(agg) 

結果我有相同名稱的列組:

enter image description here

它變得完全不可區分後我放棄了更高的列級:

df.columns = df.columns.droplevel(0) 

enter image description here

所以,我怎麼去保持獨特的名字列?

+0

[大熊貓可能的複製:是否有使用類似「droplevel」和在過程中,採用下降水平標籤爲前綴命名的其他級別的方式/suffix?](https://stackoverflow.com/questions/39405971/pandas-is-there-a-way-to-use-something-like-droplevel-and-in-process-rename) – Zero

+0

和[熊貓:爲groupby使用一列,並獲得多個其他列的統計信息](https://stackoverflow.com/questions/46498118/pandas-use-one-column-for-groupby-and-get-stats-for-multiple-其他柱) – Zero

回答

2

使用mapflatten列名:

df.columns = df.columns.map('_'.join)