小编mat*_*o99的帖子

将一个numpy对象的numpy数组转换为dtype complex

我有一个numpy数组,我想从一个对象转换为复杂.如果我将该数组作为dtype字符串并转换它,则没有问题:

In[22]: bane
Out[22]: array(['1.000027337501943-7.331085223659654E-6j',
       '1.0023086995640738-1.8228368353755985E-4j',
       '-0.017014515914781394-0.2820013864855318j'], 
       dtype='|S41')

In [23]: bane.astype(dtype=complex)
Out[23]: 
array([ 1.00002734 -7.33108522e-06j,  1.00230870 -1.82283684e-04j,
       -0.01701452 -2.82001386e-01j])
Run Code Online (Sandbox Code Playgroud)

但是当它是dtype对象并且我尝试转换它时,我得到一个需要浮点数的错误.为什么是这样?

In [24]: bane.astype(dtype=object)
Out[24]: 
array(['1.000027337501943-7.331085223659654E-6j',
       '1.0023086995640738-1.8228368353755985E-4j',
       '-0.017014515914781394-0.2820013864855318j'], dtype=object)

In [25]: _.astype(dtype=complex)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-25-f5d89c8cc46c> in <module>()
----> 1 _.astype(dtype=complex)

TypeError: a float is required    
Run Code Online (Sandbox Code Playgroud)

要转换它,我使用两个调用astype方法,这看起来很笨拙:

bane_obj
Out[27]: 
array(['1.000027337501943-7.331085223659654E-6j',
       '1.0023086995640738-1.8228368353755985E-4j',
       '-0.017014515914781394-0.2820013864855318j'], dtype=object)

In [28]: bane_obj.astype(dtype=str).astype(dtype=complex)
Out[28]: 
array([ 1.00002734 -7.33108522e-06j,  1.00230870 -1.82283684e-04j,
       -0.01701452 -2.82001386e-01j])
Run Code Online (Sandbox Code Playgroud)

python numpy

8
推荐指数
1
解决办法
2047
查看次数

使用Python将字符串中的字符转换为多个字符

我有一个字符串列表,前缀字符代表数字的倍增因子.所以如果我有这样的数据:

data = ['101n', '100m', '100.100f']
Run Code Online (Sandbox Code Playgroud)

我想用字典

prefix_dict = {'y': 'e-24', 'z': 'e-21', 'a': 'e-18', 'f': 'e-15', 'p': 'e-12',
               'n': 'e-9', 'u': 'e-6', 'm': 'e-3', 'c': 'e-2', 'd': 'e-1',
               'da': 'e1', 'h': 'e2', 'k': 'e3', 'M': 'e6', 'G': 'e9',
               'T': 'e12', 'P': 'e15', 'E': 'e18', 'Z': 'e21', 'Y': 'e24'}
Run Code Online (Sandbox Code Playgroud)

插入相应的字符串.当我看到与我类似的其他问题时,有一个角色被翻译成另一个角色.有没有办法使用translate函数将一个字符翻译成多个字符,还是应该以不同的方式接近它?

python string dictionary list

1
推荐指数
1
解决办法
152
查看次数

标签 统计

python ×2

dictionary ×1

list ×1

numpy ×1

string ×1