python-3.x - 如何使用 apply 函数删除具有 z 分数(3 或 -3)的异常值
问题描述
我正在研究 UCI 心脏病,并将所有可测量值更改为 z 分数,我想将大于 3 或小于 -3 的值分别替换为 3 和 3 或平均值。
我的示例代码是:
> import pandas as pd import numpy as np
>
> df= pd.DataFrame({'X': np.random.randn(10),
> 'Y': np.random.randn(10)})
>
> df=df.append(pd.DataFrame({'X':np.array([3,-3,3.3,4]),
> 'Y':np.array([-3.4,2,1,5])}),ignore_index=True)
>
> df['X'].apply(lambda x: x=3 if x>3 else (x = -3 if x<-3 else x))
但我收到以下错误:
File "<ipython-input-144-8d678556d1e7>", line 1
df['X'].apply(lambda x: x=3 if x>3 else (x= -3 if x<-3 else x))
^
SyntaxError: invalid syntax
我该如何解决?
解决方案
lambda
语法是这样的,在 之后,x:
您只需声明函数值,而不重复x
(本例中的条件除外)。
df['X'].apply(lambda x: 3 if x > 3 else (-3 if x < -3 else x))
推荐阅读
- flutter - 如何在 Android 上运行风格为 iOS 的 Flutter 应用程序
- django - JsonResponse 在 django_nose 测试期间被读取为字符串
- vb.net - 处理属性从 vb.net 中的另一个类更改
- javascript - Date.UTC() 未返回预期结果
- assembly - 汇编指令 MOV BL,0
- fullcalendar - 使用 LazyLoad 加载 FullCalendar 调度程序
- makefile - 构建包所需的 AOSP 存储库
- html - 文本在图像上的 CSS 定位
- wordpress - 子主题中 require_once 上的 http 错误 500
- html - 如何让这个动画在 Edge 中工作?