伪变量和在熊猫中使用for循环连接数据框

时间:2019-02-23 20:37:10

标签: python pandas dataframe for-loop dummy-variable

我正在尝试获取伪变量,并使用for循环在两个单独的数据帧中进行一些数据清理,但是它不起作用,可以编译,但是我的数据帧没有任何反应

enter image description here

然后我运行

data_cleanBase = [dataABase, dataTestBase]
for dataset in data_cleanBase: 
    dataset = dataset.join(pd.get_dummies(dataset['Embarked'])).join(pd.get_dummies(dataset['Sex']))

然后我得到

enter image description here

我的数据集中什么都没发生

1 个答案:

答案 0 :(得分:0)

要在遍历列表时替换列表的元素,您需要使用其索引来引用列表的元素。

因此,如果您想就地修改列表:

data_cleanBase = [dataABase, dataTestBase]
for i, dataset in enumerate(data_cleanBase): 
    data_cleanBase[i] = dataset.join(pd.get_dummies(dataset['Embarked'])).join(pd.get_dummies(dataset['Sex']))

否则,您可以将结果放入新列表:

data_cleanBase = [dataABase, dataTestBase]
augmented_data = []
for dataset in data_cleanBase:
    augmented_data.append(dataset.join(pd.get_dummies(dataset['Embarked'])).join(pd.get_dummies(dataset['Sex'])))