【发布时间】:2015-07-06 07:19:03
【问题描述】:
我有一个数据框,在“第 2 列”中的值为 0 或 1,在“第 1 列”中的值为 0 或 1,我想以某种方式查找索引值并将其附加为列Column1 = 1 的最后一行,但仅适用于第 2 列 = 1 的行。这可能比阅读更容易看到:
d = {'C1' : pd.Series([1, 0, 1,0,0], index=[1,2,3,4,5]),'C2' : pd.Series([0, 0,0,1,1], index=[1,2,3,4,5])}
df = pd.DataFrame(d)
print(df)
C1 C2
1 1 0
2 0 0
3 1 0
4 0 1
5 0 1
#I've left out my attempts as they don't even get close
df['C3'] = IF C2 = 1: Call Function that gives Index Value of last place where C1 = 1 Else 0 End
这将产生这个结果集:
C1 C2 C3
1 1 0 0
2 0 0 0
3 1 0 0
4 0 1 3
5 0 1 3
我试图获得一个函数来执行此操作,因为我的数据集中大约有 200 万行,但只有大约 10k 行,其中 C2 =1。
提前感谢您的帮助,我真的很感激 - 我才刚开始 几周前用python编程。
【问题讨论】:
标签: python-3.x numpy pandas