a = df.groupby('actor_1_name')['gross'].sum()
b = df.groupby('actor_2_name')['gross'].sum()
c = df.groupby('actor_3_name')['gross'].sum()
x = pd.concat([a,b,c]).nlargest(3)
x

Результатом этого кода является ^ введите описание изображения здесь

Как я могу сделать так, чтобы это выглядело так:

enter image description here

Новый выход Джезраэля:

enter image description here

1
user8157097 25 Июн 2017 в 11:34

1 ответ

Лучший ответ

Добавьте reset_index для DataFrame из Series - index создать новый столбец:

x = pd.concat([a,b,c]).nlargest(3).rename_axis('name').reset_index()

Образец:

s = pd.Series([3.71,3.39,3.26],index=['Johny Depp','Harrison Ford','tom Hanks'],name='gross')
print (s)
Johny Depp       3.71
Harrison Ford    3.39
tom Hanks        3.26
Name: gross, dtype: float64

df = s.rename_axis('name').reset_index()
print (df)
            name  gross
0     Johny Depp   3.71
1  Harrison Ford   3.39
2      tom Hanks   3.26

df = s.reset_index().rename(columns={'index':'name'})
print (df)
            name  gross
0     Johny Depp   3.71
1  Harrison Ford   3.39
2      tom Hanks   3.26
0
jezrael 25 Июн 2017 в 11:46
Как я могу изменить "index" на другое имя?
 – 
user8157097
25 Июн 2017 в 11:44
1
Добавляю 2 возможных решения.
 – 
jezrael
25 Июн 2017 в 11:49