我试图通过将文本映射到名为'programGrp‘的新功能来简化名为’STEM‘的功能,其中我会将每个程序的低级名称(如机械/电气/石油工程)分组为一般组,如STEM、人文科学、生命科学等。
这是我的尝试:
def fill_stem(df):
for i in df:
if df['programName'].str.contains('Engineering') | df['programName'].str.contains('Computer Science') | df['programName'].str.contains('Mathematics'):
df['programGrp'].loc[i] = 'STEM'
fill_stem(df)ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。
但是当我运行它的时候,我得到了这个错误。有什么关于如何最好地去做的建议吗?
发布于 2021-10-20 03:37:43
您可以改用下面的代码:
df.loc[df['programName'].str.contains('Engineering|Computer Science|Mathematics'), 'programName'] = 'STEM'或者:
df['programName'] = np.where(df['programName'].str.contains('Engineering|Computer Science|Mathematics'), 'STEM', df['programName'])https://stackoverflow.com/questions/69639890
复制相似问题