我的数据框中的成果列类型(图像的最右边)包含庇护所中动物发生的9类变化(收养,死亡,转移等)。我正在尝试将那些类别更改为“采用”为1,将所有其他类别更改为“ 0”。我尝试使用此for循环来执行此操作,但是当我随后打印df时,类别仍然存在并且没有被0和1替换。有人可以告诉我为什么吗?
import pandas as pd
df = pd.read_csv('aac_shelter_outcomes.csv')
df.head()
for item in df['outcome_type']:
if item == "Adoption":
item = int('1')
else: item = int('0')
编辑:我意识到有人可能已经在另一个问题中发现了另一种方法,但是我想知道为什么我的for循环方法不起作用。 (我是python的初学者,希望从中学到东西。我看不出为什么for循环不会更改df值。)
答案 0 :(得分:1)
以下应解决此问题:df.loc [df ['outcome_type'] ='Adoption','outcome_type'] = 1
如果您需要一种热编码,则可以在此处找到详细信息: How can I one hot encode in Python?