重置列索引熊猫?

MrC*_*ean 9 python pandas

>>> data = data.drop(data.columns[[1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]], axis=1)
>>> data = data.drop(data.index[[0,1]],axis = 0)
>>> print(data.head())
             0         2    3    4    20
2  500292014600       .00  .00  .00  NaN
3  500292014600    100.00  .00  .00  NaN
4  500292014600  11202.00  .00  .00  NaN
>>> data = data.reset_index(drop = True)
>>> print(data.head())
              0         2    3    4    20
 0  500292014600       .00  .00  .00  NaN
 1  500292014600    100.00  .00  .00  NaN
 2  500292014600  11202.00  .00  .00  NaN
Run Code Online (Sandbox Code Playgroud)

为什么我使用df.reset_index我的列的索引没有重置?如何将此索引重置为0,1,2,3,4?

Pab*_*eca 19

请尝试以下方法:

df = df.T.reset_index(drop=True).T
Run Code Online (Sandbox Code Playgroud)

  • 这听起来像是一个黑客;`reset_index` 方法也应该应用于列索引 (8认同)
  • 这是解决问题的好方法,但是有没有直接的方法来重置行索引和列索引? (2认同)

小智 12

尝试替换列名称:

>>> import numpy as np
>>> import pandas as pd

>>> my_data = [[500292014600, .00, .00, .00, np.nan],
              [500292014600, 100.00, .00, .00, np.nan], 
              [500292014600, 11202.00, .00, .00, np.nan]]
>>> df = pd.DataFrame(my_data, columns=[0,2,3,4,20])
>>> df
              0        2    3    4  20
0  500292014600      0.0  0.0  0.0 NaN
1  500292014600    100.0  0.0  0.0 NaN
2  500292014600  11202.0  0.0  0.0 NaN

>>> df.columns = range(df.shape[1])
>>> df
              0        1    2    3   4
0  500292014600      0.0  0.0  0.0 NaN
1  500292014600    100.0  0.0  0.0 NaN
2  500292014600  11202.0  0.0  0.0 NaN
Run Code Online (Sandbox Code Playgroud)