Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在数据帧上删除多列_Python_Pandas - Fatal编程技术网

Python 如何在数据帧上删除多列

Python 如何在数据帧上删除多列,python,pandas,Python,Pandas,大家好,我一直在尝试在pandas上放置2列Excel数据框,使用这样的drop命令 energy = energy.drop(energy.columns[[0 , 1]], axis= 1 ) energy.index = energy.index.droplevel(2) 但是,我无法避免查看这些列。最后,我感觉到我应该删除的列在我的机器上是一个多级索引。最后我试着像这样从它上面掉一个关卡 energy = energy.drop(energy.columns[[0 , 1]], ax

大家好,我一直在尝试在pandas上放置2列Excel数据框,使用这样的drop命令

energy = energy.drop(energy.columns[[0 , 1]], axis= 1 )
energy.index = energy.index.droplevel(2)
但是,我无法避免查看这些列。最后,我感觉到我应该删除的列在我的机器上是一个多级索引。最后我试着像这样从它上面掉一个关卡

energy = energy.drop(energy.columns[[0 , 1]], axis= 1 )
energy.index = energy.index.droplevel(2)
但我仍然无法设法避免这些专栏


我已经附加了我的工作的屏幕副本

而不是删除列,您可以像这样对数据框进行子集:

In [3]: mydf = pd.DataFrame({"A":[1,2,3,4],"B":[4,3,2,1], "C":[3,4,5,3],"D":[6,4,3,2]})
In [4]: mydf
Out[4]:
   A  B  C  D
0  1  4  3  6
1  2  3  4  4
2  3  2  5  3
3  4  1  3  2
In [5]: mydf[mydf.columns[2:]]
Out[5]:
   C  D
0  3  6
1  4  4
2  5  3
3  3  2
例如,如果您试图删除前两列,这将起作用。它的工作原理是创建一个包含
df.columns
的列表,然后将其子集并应用于数据帧。然后,您可能希望将新的dataframe设置为一个变量。 如果要删除的列不相邻,则可以循环查看要删除的列列表:

In [7]: mydf1 = mydf.copy()
In [8]: for col in ["A","D"]:
   ...:     mydf1 = mydf1.drop(col,axis=1)

In [9]: mydf1
Out[9]:
   B  C
0  4  3
1  3  4
2  2  5
3  1  3

如果确实要删除列,可以使用
del

>>> df = pd.DataFrame({'A':range(3),'B':list('abc'), 'C':range(3,6), 'D':list('gde')})
>>> for x in ['A', 'B']:
...     del df[x]
... 
>>> df
   C  D
0  3  g
1  4  d
2  5  e
这可能会有帮助

energy.drop(energy.columns[[0,1]] , axis=1, inplace=True)

尝试简单地重命名列

说你有

In: df.columns 

Out: MultiIndex(levels=[['BURGLARY', 'GRAND LARCENY', 'GRAND LARCENY OF MOTOR 
     VEHICLE', 'TMAX', 'TMIN'], ['count', 'mean']],
     labels=[[0, 1, 2, 3, 4], [0, 0, 0, 1, 1]])
然后

In: df.columns

Out: Index(['BURGLARY', 'GRAND LARCENY', 'GRAND LARCENY OF MOTOR VEHICLE', 
     'TMAX',
     'TMIN'],
     dtype='object')

考虑输入您的代码,而不是通过IMAP.DUPE链接到它: