簡體   English   中英

熊貓get_dummies在for循環

[英]Pandas get_dummies in for loop

我想在for循環中使用pandas.get_dummies將類別變量轉換為虛擬變量。 但是,以下代碼不會轉換數據幀。

data_cleaner = [data_train, data_val]
for df in data_cleaner:
    df = pd.get_dummies(df, columns = categorical_fields)

data_train.head() # Not changed

我知道for循環中的迭代器只是一個臨時變量。 但是修改后的代碼也不起作用。

for i in range(len(data_cleaner)):
    data_cleaner[i] = pd.get_dummies(data_cleaner[i], columns = categorical_fields)

data_train.head() # Still not changed

有人可以幫忙嗎? 我是否必須為每個數據幀手動運行get_dummies 僅供參考,熊貓get_dummies不提供inplace選項。

嘗試跟隨

data_cleaner = [data_train, data_val]
for i,df in enumerate(data_cleaner):
    data_cleaner[i] = pd.get_dummies(df, columns = categorical_fields)

data_train,data_val=data_cleaner

您可以將其作為列表理解

data_cleaner = [pd.get_dummies(df, columns=categorical_fields) for df in data_cleaner]

要么

data_train_dum, data_val_dum = [pd.get_dummies(df, columns=categorical_fields) for df in [data_train, data_val]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM