我是一名新手,正在学习Pandas。我有一个类似于下面的Pandas数据框:
df = pd.DataFrame(data={'id': [1, 1, 1, 2, 2, 2, 2], 'val1': [0, 1, 0, 0, 1, 0, 0]})
我想添加一列
val2
,用于指示某一行是否低于与其具有相同id
且val1 == 1
的另一行。结果将是一个数据框,如下所示:
df = pd.DataFrame(data={'id': [1, 1, 1, 2, 2, 2, 2], 'val1': [0, 1, 0, 0, 1, 0, 0], 'val2': [0, 0, 1, 0, 0, 1, 1]})
我的第一个想法是使用apply语句,但这些只逐行进行。从我的经验来看,for循环永远不是答案。任何帮助将不胜感激!