2013-10-26 97 views
24

我有一個數據幀以下,稱爲followers_df蟒蛇:改變大熊貓數據幀的行索引

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 

我想改變這個數據幀弄成這個樣子:

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 

怎麼能我這樣做?我想:

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

,但它給我下面的錯誤:

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

感謝,

+0

請詳細填寫代碼? –

回答

39

你可以做

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

我看到你的答案更值得讚賞,在我的答案中分配索引有什麼問題嗎? –

+0

你好,由於某種原因,我一直在得到同樣的錯誤'在傳遞值的形狀是(1,39),索引暗示(1,20)'在嘗試你的代碼後......爲了你的參考,我使用了'大熊貓'。 concat()'來表達followers_df。我該如何解決這個問題? –

+0

你有重複的(數字0),你不能重新索引重複,首先reset_index – Jeff

3

當你不知道的行數, T你可以這樣做

followers_df.index = range(len(followers_df))