如何选择行号,然后在Python的新列中将它们分类?

时间:2019-12-06 19:17:33

标签: python pandas

我正在尝试添加一个新列,将每条推文归类为“最终”或“购物”。我知道每个行的行号(0-1993是“决赛”,1994-4070是“购物”)。我尝试这样做

stress_df['Finals_or_Shopping'] = stress_df.index[0:1952] = 'finals'

但随后出现错误“ TypeError:索引不支持可变操作”,它添加了一个列,但每一行中都有“ finals”。

任何提示都会有所帮助

2 个答案:

答案 0 :(得分:0)

这是使用numpy.where的一种方法,假设索引低于/等于row_cutoff的所有内容都需要标记为“最终”,其他所有内容都应标记为“购物”:

import numpy as np
row_cutoff = 1993 
df["Finals_or_Shopping"] = np.where(df.index <= row_cutoff, "finals", "shopping")

答案 1 :(得分:0)

您需要使用loc或iloc

stress_df['Finals_or_Shopping']="finals" 
stress_df.loc[1994:,'Finals_or_Shopping']="shopping"