【发布时间】:2019-09-22 23:58:00
【问题描述】:
我有一个包含 字符串 值的大型一维数组,并且具有如下特征:
import numpy as np
arr = np.array(['1000.70', '2*8020.80', '2008.97', '6880.10', '10*7230.96', '7778.0'])
我想为N(int)*number(float/int) 填充并替换包含一个数字乘以另一个数字(整数乘浮点/整数)的值。
例如,我想将“2*8020.80”扩展为[8020.80, 8020.80],将“10*7230.96”扩展为[7230.96, 7230.96, 7230.96, 7230.96, 7230.96, 7230.96, 7230.96, 7230.96, 7230.96, 7230.96]。
我想要的输出是:
expanded_arr = np.array(['1000.70', '8020.80', '8020.80', '2008.97', '6880.10',
'7230.96', '7230.96', '7230.96', '7230.96', '7230.96', '7230.96', '7230.96', '7230.96',
'7230.96', '7230.96', '7778.0'])
有没有简单的方法可以做到这一点?
我尝试np.tile() 并通过首先拆分“*”字符串转换为pd.DataFrame,但所有这些选项都迫使我从 df 到数组来回切换。
【问题讨论】:
标签: python arrays python-3.x numpy dataframe