ndarray
我有一个包含二进制字符串(0 和 1)的大型 Pandas 数据框(大多数用途的 Numpy 子类)。我需要找到这些字符串中所有零的位置,然后标记它们。此外,我希望零的位置相对稀疏(约占所有位位置的 1%)。
基本上,我想运行这样的东西:
import pandas as pd
x = pd.Series([ '11101110', '11111101' ], ) # start with strings
x = pd.Series([ 0b11101110, 0b11111101 ], ) # ... or integers of a known bit length
zero_positions = find_zero_positions( x )
产量zero_positions =
...
value
row bit
0 4 0
0 0
1 1 0
我尝试了几种不同的方法来做到这一点,但没有比一次循环遍历一行更好的方法了。(编辑:我要查看的实际字符串比此处的 8 位示例长得多,因此查找表不起作用。)
我不确定将其作为字符串问题(Pandas 的向量化字符串方法不提供子字符串位置查找方法)或数字问题(使用类似的东西numpy.unpackbits
,也许?)会更有效。