【发布时间】:2021-11-09 11:23:45
【问题描述】:
我有一个数据框,其中一列中的心率值范围为 0-280。我正在制作类别并将它们添加到新列中,如下所示:
HR_df1['HRCat']=''
HR_df1.loc[(HR_df1['HR'] > 10) & (HR_df1['HR'] <= 20), 'HRCat'] = '10-20'
HR_df1.loc[(HR_df1['HR'] > 20) & (HR_df1['HR'] <= 30), 'HRCat'] = '20-30'
HR_df1.loc[(HR_df1['HR'] > 30) & (HR_df1['HR'] <= 40), 'HRCat'] = '30-40'
...
HR_df1.loc[(HR_df1['HR'] > 260) & (HR_df1['HR'] <= 270), 'HRCat'] = '260-270'
HR_df1.loc[HR_df1['HR'] > 270,'HRCat'] = '270-280'
这是一项繁重的任务,需要更多代码行。有什么方法可以在 Python 中使用 Loops 来做同样的事情吗?
【问题讨论】:
-
此任务称为分箱,可通过
pd.cut()方法获得:pandas.pydata.org/docs/reference/api/pandas.cut.html
标签: python dataframe loops for-loop