我有一个数据框df与年龄,我正在努力将文件分为0和1年龄组。python熊猫loc错误
DF:
User_ID | Age
35435 22
45345 36
63456 18
63523 55
我尝试以下
df['Age_GroupA'] = 0
df['Age_GroupA'][(df['Age'] >= 1) & (df['Age'] <= 25)] = 1
,但得到这个错误
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
为了避免它,我打算去的.loc
df['Age_GroupA'] = 0
df['Age_GroupA'] = df.loc[(df['Age'] >= 1) & (df['Age'] <= 25)] = 1
然而,这标志着所有年龄为1
这是我得到
User_ID | Age | Age_GroupA
35435 22 1
45345 36 1
63456 18 1
63523 55 1
,而这是我们的目标
User_ID | Age | Age_GroupA
35435 22 1
45345 36 0
63456 18 1
63523 55 0
谢谢
你想'df.loc [(DF [ 'Age_MDB_S']> = 1)&(DF [ 'Age_MDB_S'] <= 25), 'Age_GroupA'] = 1' – EdChum
这个工作很大@EdChum ;你能否将它作为答案发布,以便我可以接受它?谢谢 – jeangelj
@EdChum:来吧,这不是问题或旁边,所以它不应该是一个评论.. ;-) – DSM