我有两个DataFrame:train_df
和test_df
,我将它们存储在一个列表中:combine = [train_df, test_df]
。两个DF都有一个名为" Gender"的列,它是"男性"或者"女性"。现在我想在两个DF中修改该列,以便" male"替换为0和"女性" 1.使用以下代码:
for dataset in combine:
dataset["Gender"] = dataset["Gender"].map({"female": 1, "male": 0})
我注意到它修改了train_df
和test_df
以及combine
个元素。这是为什么?我认为dataset
这里是一个循环变量(所以它只存储DF的本地副本)并且什么都不会改变(想想Apply a for loop to multiple DataFrames in Pandas)。更一般地说,在这样的循环中访问DF列是否合适(当我们有多个DF时)?还有更强的 Pythonic 方式吗?