Как спрятать asp: BoundField с помощью css

Этот метод использует bisect, который может быть более эффективным, но он требует, чтобы вы сначала отсортировали результаты.

from bisect import bisect
import random

scores = [random.randint(0,100) for _ in xrange(100)]
bins = [20, 40, 60, 80, 100]

scores.sort()
counts = []
last = 0
for range_max in bins:
    i = bisect(scores, range_max, last)
    counts.append(i - last)
    last = i

Я бы не ожидал, что вы установите numpy только для этого, но если вы уже У вас есть numpy, вы можете использовать numpy.histogram.

UPDATE

Во-первых, использование bisect является более гибким. Использование [i//n for i in scores] требует, чтобы все ящики имели одинаковый размер. Использование bisect позволяет бункерам иметь произвольные пределы. Также i//n означает, что диапазоны [lo, hi). Используя bisect, диапазоны (lo, hi], но вы можете использовать bisect_left, если вы хотите [lo, hi].

Второй делите пополам быстрее, см. Тайминги ниже. Я заменил scores.sort () на более медленные сортировки (баллы), потому что сортировка - это самый медленный шаг, и я не хотел смещать времена с предварительно отсортированным массивом, но OP говорит, что его / ее массив уже отсортированный таким образом bisect мог бы иметь еще больший смысл в этом случае.

setup="""
from bisect import bisect_left
import random
from collections import Counter

def histogram(iterable, low, high, bins):
    step = (high - low) / bins
    dist = Counter(((x - low + 0.) // step for x in iterable))
    return [dist[b] for b in xrange(bins)]

def histogram_bisect(scores, groups):
    scores = sorted(scores)
    counts = []
    last = 0
    for range_max in groups:
        i = bisect_left(scores, range_max, last)
        counts.append(i - last)
        last = i
    return counts

def histogram_simple(scores, bin_size):
    scores = [i//bin_size for i in scores]
    return [scores.count(i) for i in range(max(scores)+1)]

scores = [random.randint(0,100) for _ in xrange(100)]
bins = range(10, 101, 10)
"""
from timeit import repeat
t = repeat('C = histogram(scores, 0, 100, 10)', setup=setup, number=10000)
print min(t)
#.95
t = repeat('C = histogram_bisect(scores, bins)', setup=setup, number=10000)
print min(t)
#.22
t = repeat('histogram_simple(scores, 10)', setup=setup, number=10000)
print min(t)
#.36
0
задан Junior Cortenbach 18 March 2019 в 01:57
поделиться

1 ответ

Я бы использовал поле шаблона, а не ограниченное поле.

И не забывайте, что когда вы устанавливаете видимость в false на веб-элементах управления, они не отображаются в ответе

<asp:templatefield>
   <itemtemplate>
      <span class='myhide'><%# eval("columnname") %></span>
   </itemtemplate>
</asp:templatefield>

Кроме того, ретранслятор даст вам точный контроль над отображаемым HTML, который может дать Вы добиваетесь лучших результатов с тем, что вы пытаетесь сделать.

0
ответ дан Stephen Wrighton 18 March 2019 в 01:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: