我想在现有的 @HostListener('window:resize')
onResize() {
this.currentWindowWidth = window.innerWidth;
}
列中添加items
个值
我对f['ECPM_medio']
进行了一些修改,使每个数字都有items values
个值。问题是当我尝试将这些新数字添加到现有列时...我在所有行上粘贴相同的数字!
0.8 to 0.9
答案 0 :(得分:4)
在我看来,你也可以这样做:
f.loc[:, 'ECPM_medio'] = (f['ECPM_medio'] * \
np.where(f['ECPM_medio'] <= 0.5, .8, .9)).round(2)
np.where(f['ECPM_medio'] <= 0.5, .8, .9)
会返回一个数组,其中ECPM_medio
列的长度为.8
或.9
,具体取决于f [&#39; ECPM_medio&的相同索引值] #39]。然后,您可以将DataFrame列乘以此数组,并将整个表达式包装在括号中,以便您可以获取生成的Series(即已转换的f['ECPM_medio']
列),并粘贴.round(2)
以对列进行舍入& #39; s值到两个地方。
答案 1 :(得分:1)
您应该创建一个函数,然后将其应用于lambda。
示例:
def myfunc(item):
item = float(item)
if item <= 0.5:
item = item * 0.8
else:
item = item * 0.9
item = float("{0:.2f}".format(item))
return item
f['ECPM_medio'] = f['ECPM_medio'].apply(lambda x: myfunc(x))
答案 2 :(得分:1)
您可以使用Pandas矢量化操作
来完成此操作df['ECPM_medio'] = np.where(df['ECPM_medio'] <= 0.5, df['ECPM_medio'] * 0.8, df['ECPM_medio']* 0.9)