我使用的是这样的数据帧,但是更大,区域更大。我试图用它们的名字来对value
行进行求和。R区或C区的总和在total
列中,而M区的总和在total1
列中。你知道吗
输入:
total
,total1
是所需的输出。你知道吗
ID Zone1 CHC1 Value1 Zone2 CHC2 Value2 Zone3 CHC3 Value3 total total1
1 R5B 100 10 C2 0 20 R10A 2 5 35 0
1 C2 95 20 M2-6 5 6 R5B 7 3 23 6
3 C2 40 4 C4 60 6 0 6 0 10 0
3 C1 100 8 0 0 0 0 100 0 8 0
5 M1-5 10 6 M2-6 86 15 0 0 0 0 21
对于} :
Zones
和Values
的数据帧,可以使用^{如果需要检查子字符串,则通过^{} 和
apply
创建boolean DataFrame
s:按每行^{}
v
和sum
最后一个筛选器:解决方案1(代码更简单,但速度较慢,灵活性较差)
解决方案2(比解决方案1更快,更易于自定义,但可能占用大量内存)
当我将原始数据帧扩展到100k行时,解决方案1采用
11.4 s ± 82.1 ms per loop
,而解决方案2采用3.53 s ± 29.8 ms per loop
。区别在于解决方案2不支持行方向上的循环。你知道吗相关问题 更多 >
编程相关推荐