gpt4 book ai didi

python - 代码中的 .ix 替代方案

转载 作者:行者123 更新时间:2023-12-01 01:51:01 25 4
gpt4 key购买 nike

我想运行一段代码来检查其中发生了什么,但我无法执行它,有一条消息说 .ix 已弃用。

离群值 = 4 #离群值

for k in np.arange(0,3,1):

wAvg = sum(df.ix[:,1] * df.ix[:,2]) #Weight Average
Std = df.ix[:,2].std()
df.ix[:,2] = (df.ix[:,2]-wAvg)/Std

df.ix[df.ix[:,2] > outlier, 2] = outlier
df.ix[df.ix[:,2] < -outlier, 2] = -outlier

我是 python 新手,我只是想了解其中的逻辑,以便我可以为此创建一个文档。我怎样才能做到这一点。

最佳答案

看起来需要按位置索引,因此将 ix 更改为 iloc

因此第一行需要更改:

wAvg = sum(df.ix[:,1] * df.ix[:,2])

至:

wAvg = sum(df.iloc[:,1] * df.iloc[:,2])

并按 boolean indexing 进行过滤需要 loc 并通过按 df.columns[2] 索引来选择列名称:

df.ix[df.ix[:,2] > outlier,  2] =  outlier
df.ix[df.ix[:,2] < -outlier, 2] = -outlier

至:

df.loc[df.iloc[:,2] > outlier,  df.columns[2]] =  outlier
df.loc[df.iloc[:,2] < -outlier, df.columns[2]] = -outlier

欲了解更多信息,请查看pandas docs .

编辑:

for k in np.arange(0,3,1):

wAvg = sum(df.iloc[:,1] * df.iloc[:,2]) #Weight Average
Std = df.iloc[:,2].std()
df.iloc[:,2] = (df.iloc[:,2]-wAvg)/Std

df.loc[df.iloc[:,2] > outlier, df.columns[2]] = outlier
df.loc[df.iloc[:,2] < -outlier,df.columns[2]] = -outlier

关于python - 代码中的 .ix 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50725825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com