python定位错误
我有一个带有年龄的数据帧df,我正在将文件分为0和1的年龄组 df: 我尝试了以下方法python定位错误,python,pandas,loc,Python,Pandas,Loc,我有一个带有年龄的数据帧df,我正在将文件分为0和1的年龄组 df: 我尝试了以下方法 df['Age_GroupA'] = 0 df['Age_GroupA'][(df['Age'] >= 1) & (df['Age'] <= 25)] = 1 为了避免它,我选择了.loc df['Age_GroupA'] = 0 df['Age_GroupA'] = df.loc[(df['Age'] >= 1) & (df['Age'] <= 25)] = 1
df['Age_GroupA'] = 0
df['Age_GroupA'][(df['Age'] >= 1) & (df['Age'] <= 25)] = 1
为了避免它,我选择了.loc
df['Age_GroupA'] = 0
df['Age_GroupA'] = df.loc[(df['Age'] >= 1) & (df['Age'] <= 25)] = 1
这是我们的目标
User_ID | Age | Age_GroupA
35435 22 1
45345 36 0
63456 18 1
63523 55 0
谢谢您可以将布尔掩码转换为
int
-True
are1
和False
are0
:
df['Age_GroupA'] = ((df['Age'] >= 1) & (df['Age'] <= 25)).astype(int)
print (df)
User ID Age Age_GroupA
0 35435 22 1
1 45345 36 0
2 63456 18 1
3 63523 55 0
df['Age\u GroupA']=((df['Age']>=1)和(df['Age']]您可以将布尔掩码转换为int
-True
是1
和False
是0
:
df['Age_GroupA'] = ((df['Age'] >= 1) & (df['Age'] <= 25)).astype(int)
print (df)
User ID Age Age_GroupA
0 35435 22 1
1 45345 36 0
2 63456 18 1
3 63523 55 0
df['Age_GroupA']=((df['Age']>=1)和(df['Age']由于同侪压力(@DSM),我觉得有必要分析一下您的错误:
df['Age_GroupA'][(df['Age'] >= 1) & (df['Age'] <= 25)] = 1
像这样:
df.loc[(df['Age_MDB_S'] >= 1) & (df['Age_MDB_S'] <= 25), 'Age_GroupA'] = 1
为了在一行中做到这一点,有很多方法可以做到这一点由于同侪压力(@DSM),我觉得有必要分析您的错误:
df['Age_GroupA'][(df['Age'] >= 1) & (df['Age'] <= 25)] = 1
像这样:
df.loc[(df['Age_MDB_S'] >= 1) & (df['Age_MDB_S'] <= 25), 'Age_GroupA'] = 1
要在一行中做到这一点,有很多方法可以做到这一点。这对我来说很有效。耶斯雷尔已经解释过了
dataframe['Age_GroupA'] = ((dataframe['Age'] >= 1) & (dataframe['Age'] <= 25)).astype(int)
dataframe['Age\u GroupA']=((dataframe['Age']>=1)和(dataframe['Age']这对我很有效。耶兹雷尔已经解释过了
dataframe['Age_GroupA'] = ((dataframe['Age'] >= 1) & (dataframe['Age'] <= 25)).astype(int)
dataframe['Age\u GroupA']=((dataframe['Age']>=1)和(dataframe['Age']你想要df.loc[[df['Age\u MDB\u S']>=1)和(df['Age\u MDB\u S'])这非常有效@EdChum;你能把它作为一个答案贴出来让我接受吗?谢谢you@EdChum:拜托,这不是问题或旁白,所以不应该是评论;-)@DSM你现在让我感到内疚^ ^;这对我来说是一个相当重要的问题……你想要df.loc[(df['Age\u MDB\u S]>=1)和(df['Age\u MDB\u S']这非常有效@EdChum;你能把它作为一个答案发布给我吗?谢谢you@EdChum:拜托,这不是问题或旁白,所以不应该是评论;-)@DSM你现在让我感到内疚;这对我来说是一个相当重要的问题……谢谢你——工作得很好;我想我已经记下了医生的逻辑now@jeangelj这里的微妙错误是,你在中间指定了一个掩码,你分配了代码> 1代码/代码>,但是这个链被链接到LHS,所以所有的行都被分配给1i。ge的loc超过np.where和其他方法;非常感谢你-工作得很好;我想我记下了文档逻辑now@jeangelj这里的微妙错误是,您在中间指定了一个掩码,您分配了代码> 1代码/代码>,但是这个链被链接到LHS,所以所有的行都被分配给1i;我清楚地看到LOC在NP上的优势。.何处及其他方法;非常感谢
df['Age_GroupA'] = np.where( (df['Age_MDB_S'] >= 1) & (df['Age_MDB_S'] <= 25), 1, 0)
dataframe['Age_GroupA'] = ((dataframe['Age'] >= 1) & (dataframe['Age'] <= 25)).astype(int)