Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python定位错误_Python_Pandas_Loc - Fatal编程技术网

python定位错误

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,我正在将文件分为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
这是我们的目标

User_ID | Age | Age_GroupA
35435      22       1
45345      36       0
63456      18       1
63523      55       0

谢谢

您可以将布尔掩码转换为
int
-
True
are
1
False
are
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\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)