重新编制熊猫数据框架索引

时间:2017-05-08 17:43:31

标签: python python-2.7 pandas dataframe

我正在使用read_html()从html文件中读取dataFrame。初始加载后,我决定使用我的一行作为标题。

df = pd.read_html('http://www.....')[0]  # Read from html file
df.columns = df.iloc[1]  # Use 1th row as header
df = df[2:]  # Removing first two rows including the header row
df.reset_index(drop=True)  # reindexing

毕竟这个我的dataFrame看起来像这样

1   RK             PLAYER TEAM  GP   G   A PTS +/- PIM PTS/G  SOG   PCT GWG  \
0    1     Jamie Benn, LW  DAL  82  35  52  87   1  64  1.06  253  13.8   6   
1    2    John Tavares, C  NYI  82  38  48  86   5  46  1.05  278  13.7   8   
2    3   Sidney Crosby, C  PIT  77  28  56  84   5  47  1.09  237  11.8   3   
3    4  Alex Ovechkin, LW  WSH  81  53  28  81  10  58  1.00  395  13.4  11   
4  NaN  Jakub Voracek, RW  PHI  82  22  59  81   1  78  0.99  221  10.0   3

因此,您可以看到它在行索引之上具有值 1 。当我使用 df.columns = df.iloc [1] 时,它获得了这个值,其中1是行索引号。

所需的数据框应该看起来像这样。

    RK             PLAYER TEAM  GP   G   A PTS +/- PIM PTS/G  SOG   PCT GWG  \
0    1     Jamie Benn, LW  DAL  82  35  52  87   1  64  1.06  253  13.8   6   
1    2    John Tavares, C  NYI  82  38  48  86   5  46  1.05  278  13.7   8   
2    3   Sidney Crosby, C  PIT  77  28  56  84   5  47  1.09  237  11.8   3   
3    4  Alex Ovechkin, LW  WSH  81  53  28  81  10  58  1.00  395  13.4  11   
4  NaN  Jakub Voracek, RW  PHI  82  22  59  81   1  78  0.99  221  10.0   3

任何人都可以建议我如何实现这一目标? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

将列分配给pd.Series时,您还将继承系列名称。如果Series来自DataFrame行,就像您的情况一样,Series名称与其原始索引相同(在您的情况下为1)。您可以在打印数据框结果之前添加行df.columns.name = None来重置名称