>>> 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
为什么我使用df.reset_index我的列索引没有重置? 如何将此索引重置为0,1,2,3,4?
答案 0 :(得分:14)
尝试以下方法:
df = df.T.reset_index(drop=True).T
答案 1 :(得分:11)
尝试替换列名:
>>> 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
答案 2 :(得分:2)
在pandas中,按索引你基本上是指行索引。正如您在数据中看到的那样,行索引在drop和reset_index()之后重置。
对于列,您需要重命名它们,您可以执行类似
的操作data.columns = [ 0,1,2,3,4]
答案 3 :(得分:0)
如果您使用import numpy as np
只需使用data.columns = [np.arange(0,data.shape[1])]
答案 4 :(得分:0)
我们enumerate
数据框的columns
创建一个项数组。然后,我们将map
函数reversed
应用于数组中的每个项目。最后,我们在数据框对象方法columns
中创建并输入字典作为参数rename
。
columns = dict(map(reversed, enumerate(df.columns)))
df = df.rename(columns=columns)
df.head()
结果:
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