如何用python将数组中的值替换为字符串

2024-09-27 19:29:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据数组,我想用一个字符串“INDE”替换所有大于50的值。我怎么能用python做到这一点呢?在

我试过了:

import numpy as np

row={'time': 10, 'tsys_1': [85.1, 91.8, 94.3, 37.1, 12.2, 17.4, 78.5, 68.8],'subarray': 1}

data=np.array(row['tsys_1'][0:8])

for i in range(len(data)):
    if data[i] > 50:
        data[i] = 'INDE'

但是这样的错误发生了:

^{pr2}$

我该怎么做?在


Tags: 数据字符串importnumpyfordatatimeas
1条回答
网友
1楼 · 发布于 2024-09-27 19:29:12

用纯python可能更好。在

>>> row['tsys_1'] = ['INDE' if x > 50 else x for x in row['tsys_1']]
>>> row
{'subarray': 1,
 'time': 10,
 'tsys_1': ['INDE', 'INDE', 'INDE', 37.1, 12.2, 17.4, 'INDE', 'INDE']}

拥有一个由字符串和数字混合而成的numpy数组有点挫败了拥有numpy数组的初衷。但是,如果你真的想要,这里有你可以得到它的方法:

^{pr2}$

如果您想在numpy中屏蔽这些值,您可能需要考虑使用屏蔽数组(在numpy.ma)中,或者使用类似于np.nan来代替这个字符串'INDE'。在

相关问题 更多 >

    热门问题