将NumPy数组分配到for循环内的DataFrame列

iih3973s  于 2022-12-29  发布在  其他
关注(0)|答案(1)|浏览(106)

有不合理的高值,也有负值内的'净进入'和'净退出'列。我试图修复它与上述代码。但我一直遇到以下错误。以下是我的代码:

indexes = [*D.index.unique()]
list_ = []

for index in indexes :
    
    df = D[D.index == index]
    
    array_ent = np.array(df['Net Entries'])
    array_ext = np.array(df['Net Exits'])
    
    avg_ent = np.mean(array_ent[(array_ent > 0) & (array_ent < 5040)])
    avg_ext = np.mean(array_ext[(array_ext > 0) & (array_ext < 5040)])
    
    array_ent[(array_ent < 0) | (array_ent > 5040)] = avg_ent
    array_ext[(array_ext < 0) | (array_ext > 5040)] = avg_ext
    
    df['x'] = array_ent
    df['y'] = array_ext
    
    list_.append(df)
    
MTA = pd.concat(list_, axis = 0)

D.head()
x一个一个一个一个x一个一个二个x
有人能解决这个问题吗?

iyr7buue

iyr7buue1#

您正在查找.clip()函数。

df['Net Entries'] = df['Net Entries'].clip(0, 5040)
df['Net Exits']   = df['Net Exits'].clip(0, 5040)

剪裁后,根据需要处理这些要素:中位数平均值随便什么。

相关问题