工作流程如下:
我已经完成了步骤3,即到了名为“end”的列。
我不知道如何将start和end之间的值标记为ExpectedFlag。有没有办法用熊猫操作来标记这个?你知道吗
text LWS LineNum start end ExpectedFlag
0 somethin 3 2 0 0 0
1 somethin 3 2 0 0 0
2 somethin 2 2 0 0 0
3 value 70 2 1 0 1
4 value 3 2 0 0 1
5 value: 3 2 0 1 1
6 val1 200 3 1 0 1
7 val1: 3 3 0 1 1
8 val2 3 3 0 0 0
9 val2 100 3 1 0 1
10 val2: 3 3 0 1 1
11 djsal 3 3 0 0 0
12 jdsal 3 3 0 0 0
13 ajsd 3 3 0 0 0
关于
start
和end
之间的填充值,可以根据this answer按如下方式进行:数据:
df = pd.DataFrame([[0,0],[0,0],[0,0],[1,0],[0,0],[0,1],[0,0],[0,0],[1,0],[0,1],[0,0],[0,0],[0,0],[0,0],[1,0],[0,0],[0,0],[0,1],[0,0],[0,0],[0,0],],columns=['start','end'])
取
start
和end
的索引:重塑原始索引:
然后我们可以利用numpy的broadcasting:
对于每个
start
-end
对,生成一个条件:然后使用
sum
:一行:
((df.start.nonzero()[0] <= df.index.values.reshape(-1,1)) & (df.index.values.reshape(-1,1) <= df.end.nonzero()[0])).sum(axis=1)
您可以编写并应用函数来执行此操作:
退货
相关问题 更多 >
编程相关推荐