我有两个基本的DataFrame,并将它们组合到一个名为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]
Run Code Online (Sandbox Code Playgroud)
它们都是具有4列A,B,C,D的3x4 DF。
我可以使用for循环通过以下代码将列添加到DF中:
for df3 in dfCombo:
df3['E'] = df3['A'] + df3['B']
Run Code Online (Sandbox Code Playgroud)
与此同时,df和df2都将具有新的列E。但是,当我尝试使用以下代码使用此方法删除列时,不会删除任何列:
for df3 in dfCombo:
df3 = df3.drop('B', axis = 1)
Run Code Online (Sandbox Code Playgroud)
要么
for df3 in dfCombo:
df3 = df3.drop(columns = ['B'])
Run Code Online (Sandbox Code Playgroud)
如果我在单个DF上使用相同的代码,则会删除该列:
df2 = df2.drop('B', axis = 1)
Run Code Online (Sandbox Code Playgroud)
要么
df2 = df2.drop(columns = ['B'])
Run Code Online (Sandbox Code Playgroud)
如果您能帮助我了解正在发生的事情,我将非常感激。