Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.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 在for循环期间删除列_Python_Pandas - Fatal编程技术网

Python 在for循环期间删除列

Python 在for循环期间删除列,python,pandas,Python,Pandas,我有两个基本的数据帧,我将它们组合成一个名为dfCombo的列表: import pandas as pd import numpy as np df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D']) df2 = pd.DataFrame(np.arange(12,24).reshape(3,4), columns=['A', 'B', 'C', 'D']) dfCombo = [df, df2]

我有两个基本的数据帧,我将它们组合成一个名为dfCombo的列表:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D'])
df2 = pd.DataFrame(np.arange(12,24).reshape(3,4), columns=['A', 'B', 'C', 'D'])
dfCombo = [df, df2]
它们都是带有4列A、B、C、D的3x4 DF

我能够使用for循环向两个DF添加一列,代码如下:

for df3 in dfCombo:
    df3['E'] = df3['A'] + df3['B']
使用此方法,df和df2都将有一个新列E。但是,当我尝试使用以下代码使用此方法删除列时,不会删除任何列:

for df3 in dfCombo:
    df3 = df3.drop('B', axis = 1)

如果在单个DF上使用相同的代码,则会删除该列:

df2 = df2.drop('B', axis = 1)

如果您能帮助我了解正在发生的事情,我将不胜感激。

您需要使用inplace=True:

返回:

   A   C   D   E
0  0   2   3   1
1  4   6   7   9
2  8  10  11  17

    A   C   D   E
0  12  14  15  25
1  16  18  19  33
2  20  22  23  41
默认的inplace=False用于分配回原始数据帧,因为它返回一个新副本。但是inplace=True在同一副本上运行,并且不返回任何值,因此无需重新分配给原始数据帧。

您需要使用inplace=True:

返回:

   A   C   D   E
0  0   2   3   1
1  4   6   7   9
2  8  10  11  17

    A   C   D   E
0  12  14  15  25
1  16  18  19  33
2  20  22  23  41
默认的inplace=False用于分配回原始数据帧,因为它返回一个新副本。然而,inplace=True在同一副本上运行,并且不返回任何值,因此不需要重新分配给原始数据帧

for df3 in dfCombo:
    df3.drop('B', axis = 1, inplace=True)
   A   C   D   E
0  0   2   3   1
1  4   6   7   9
2  8  10  11  17

    A   C   D   E
0  12  14  15  25
1  16  18  19  33
2  20  22  23  41