使用Numpy筛选数组字符串

2024-10-17 08:25:08 发布

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

如何编写一个numpy函数,它只过滤掉以“USD”结尾的数组字符串。如果没有for循环,我将如何执行此过滤器

import numpy as np
Array= ['BTCUSD', 'ETHUSD', 'David', 'georGe', 'XRPUSD', 'USDAUD', 'ETHUSDC' ]

预期产量

['BTCUSD', 'ETHUSD',  'XRPUSD']

Tags: 函数字符串importnumpy过滤器foras结尾
1条回答
网友
1楼 · 发布于 2024-10-17 08:25:08

使用numpychar.endswith

import numpy as np

a = np.array(['BTCUSD', 'ETHUSD', 'David', 'georGe', 'XRPUSD', 'USDAUD', 'ETHUSDC'])
print(a[np.char.endswith(a, 'USD')])

输出:

['BTCUSD' 'ETHUSD' 'XRPUSD']

对于返回类型list而不是np.ndarray,可以使用理解:

import numpy as np

lst = np.array(['BTCUSD', 'ETHUSD', 'David', 'georGe', 'XRPUSD', 'USDAUD', 'ETHUSDC'])
print([elem for elem in lst if elem.endswith('USD')])

输出:

['BTCUSD', 'ETHUSD', 'XRPUSD']

*理解方法可用于Python列表和np数组

相关问题 更多 >