Маскировка Hex / Binary & Counting 1's Pandas Dataframe - PullRequest
0 голосов
/ 01 марта 2019

Итак, у меня есть этот фрейм данных, и один из столбцов содержит шестнадцатеричные значения.

И затем у меня есть эта маска:

mask = 0b 0000 0100 0010 0001

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

Это код, который я пробовал:

dataframe['tempCount1'] = bin(dataframe['Hex'] & mask).count("1")

Но он возвращает ошибку:

TypeError: 'Series' object cannot be interpreted as an integer

Я знаю, что этот раздел кода будет работать:

    for x in range(len(dataframe['Hex'])):
        dataframe['tempCount1'][x] = bin(dataframe['Hex'][x] & mask).count("1")

Но это займет более 10 минутчтобы пройти 100 000 записей, а у меня более 1 700 000 записей.

Кто-нибудь думает, что они знают лучший способ сделать это?

...