- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含 1 列的 pandas Dataframe,其中包含一串位,例如'100100101'
。我想将此字符串转换为 numpy 数组。
我怎样才能做到这一点?
编辑:
使用
features = df.bit.apply(lambda x: np.array(list(map(int,list(x)))))
#...
model.fit(features, lables)
导致 model.fit
出现错误:
ValueError: setting an array element with a sequence.
由于标记的答案,我想出了适合我的案例的解决方案:
for bitString in input_table['Bitstring'].values:
bits = np.array(map(int, list(bitString)))
featureList.append(bits)
features = np.array(featureList)
#....
model.fit(features, lables)
最佳答案
对于字符串s = "100100101"
,您可以通过至少两种不同的方式将其转换为 numpy 数组。
第一个使用 numpy 的 fromstring
方法。这有点尴尬,因为您必须指定数据类型并减去元素的“基”值。
import numpy as np
s = "100100101"
a = np.fromstring(s,'u1') - ord('0')
print a # [1 0 0 1 0 0 1 0 1]
其中 'u1'
是数据类型,ord('0')
用于从每个元素中减去“基”值。
第二种方法是将每个字符串元素转换为整数(因为字符串是可迭代的),然后将该列表传递给np.array
:
import numpy as np
s = "100100101"
b = np.array(map(int, s))
print b # [1 0 0 1 0 0 1 0 1]
然后
# To see its a numpy array:
print type(a) # <type 'numpy.ndarray'>
print a[0] # 1
print a[1] # 0
# ...
请注意,随着输入字符串 s
长度的增加,第二种方法的扩展性明显比第一种方法差。对于小字符串,它很接近,但请考虑 timeit
90 个字符的字符串的结果(我刚刚使用了 s * 10
):
fromstring: 49.283392424 s
map/array: 2.154540959 s
(这是使用默认的 timeit.repeat
参数,最少运行 3 次,每次运行计算运行 1M 字符串->数组转换的时间)
关于python - 将 Bitstring(1 和 0 的字符串)转换为 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29091869/
请问我们如何有效计算 elixir 中位串的汉明权重? 示例:0b0101101001 的汉明权重为 5(即设置 5 位) 我的尝试: iex> Enum.count(Integer.to_char_
对于一个赋值,我们假设修改一个自定义的 BitString 类。我们实际上需要为 10 多个函数编写代码,而我只停留在第一个函数上。这是类(class)的开始部分以及我尝试使用的一些方法: publi
一个简单的问题。 我有一个 (选中),其中包含一个名为 hexapacket 的 124 长度六边形内容。 我是这样做的: import bitstring data = BitStream(hexa
你如何连接位串。我的意思是位串,因为我不知道字节数是 8 的倍数。 A = > B = > C = > Solution should A|B|C should be > 谢谢 最佳答案 使用 构建二
我刚开始使用 BitString 和 ctypes,我有一个二进制文件的一部分存储在 startdata 中,一个 BitArray类。 > print(startdata) 0x0000000109
更新:在python-bitstring 3.0.0步骤中具有常规含义 我正在使用 python bitstring ,我有一个从文件加载的 ConstBitArray,我想获得一个步长不同于 1 的
如果我想拥有自己的类(class),如 std::bitset延伸 std::bitset的功能,我想重载 operator()(size_t start, size_t end)这样它就返回 thi
我将英文字母集表示为 26 位位串。第一位对应“a”,设置位对应“b”,依此类推。于是, 字符串 ab 表示为 11000000000000000000000000 现在,给定两个位串,我想检查位串
我有一个包含 1 列的 pandas Dataframe,其中包含一串位,例如'100100101'。我想将此字符串转换为 numpy 数组。 我怎样才能做到这一点? 编辑: 使用 features
我想使用包 bitstring 和 mpmath(或任何其他方式来保证任意设置的输出精度和指定的舍入模式)来计算 的值rcp, sqrt, sin, cos, ln, exp >,... 在以二进制
我是一名优秀的程序员,十分优秀!