2013-10-26 24 views
24

Mam ramki danych o nazwie followers_df jak poniżej:python: zmiana indeks wiersza ramki danych pandy

followers_df 

      0 
0   oasikhia 
0  LEANEnergyUS 
0 _johannesngwako 
0  jamesbreenre 
0 CaitlinFecteau 
0 mantequillaFACE 
0   apowersb 
0  ecoprinter 
0  tsdesigns 
0  GreenBizDoc 
0  JimHarris 
0 Jmarti11Julia 
0   JAslat63 
0   prAna 
0 GrantLundberg 
0  Jitasa_Is 
0  ChoosePAWind 
0 cleanpowerperks 
0   WoWEorg 
0  Laura_Chuck 

Chcę zmienić tę ramkę danych na coś takiego:

followers_df 

      0 
0   oasikhia 
1  LEANEnergyUS 
2 _johannesngwako 
3  jamesbreenre 
4 CaitlinFecteau 
5 mantequillaFACE 
6   apowersb 
7  ecoprinter 
8   tsdesigns 
9  GreenBizDoc 
10  JimHarris 
11 Jmarti11Julia 
12   JAslat63 
13   prAna 
14 GrantLundberg 
15  Jitasa_Is 
16  ChoosePAWind 
17 cleanpowerperks 
18   WoWEorg 
19  Laura_Chuck 

jaki sposób Robię to? Próbowałem:

 index = pandas.Index(range(20)) 
    followers_df = pandas.DataFrame(followers_df, index=index) 

ale to daje mi następujący błąd:

ValueError: Shape of passed values is (1, 39), indices imply (1, 20) 

dzięki,

+0

Pełny kod? –

Odpowiedz

39

można zrobić

followers_df.index = range(20) 
16
followers_df.reset_index() 
followers_df.reindex(index=range(0,20)) 
+0

Widzę, że twoja odpowiedź jest bardziej doceniana, czy jest coś nie tak z przypisaniem indeksu jak w mojej odpowiedzi? –

+0

Witam, z jakiegoś powodu ciągle otrzymuję ten sam błąd 'Kształt przekazywanych wartości to (1, 39), indeksy sugerują (1, 20)' po wypróbowaniu twojego kodu .... dla twojego odniesienia, użyłem 'pandy. concat() 'do sformułowania followers_df. jak mogę rozwiązać ten problem? –

+0

masz duplikaty (numer 0), nie można ponownie wykonać indeksu z duplikatami, najpierw reset_index – Jeff

3

Gdy nie jesteś pewien z Liczba rzędów, T Możesz to zrobić

followers_df.index = range(len(followers_df)) 
Powiązane problemy