修改多个Pandas DataFrame的特定列

时间:2017-09-20 16:30:17

标签: python pandas

我有两个DataFrame:train_dftest_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_dftest_df以及combine个元素。这是为什么?我认为dataset这里是一个循环变量(所以它只存储DF的本地副本)并且什么都不会改变(想想Apply a for loop to multiple DataFrames in Pandas)。更一般地说,在这样的循环中访问DF列是否合适(当我们有多个DF时)?还有更强的 Pythonic 方式吗?

0 个答案:

没有答案