
用法:FILTER(X,N):X满足条件后,删除其后N周期内的数据置为0
例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内工作规律:
补充:
注意R语言中的等于是==,注意输入细节。
运行结果:
此时生成的新数据框只是一个展示,如果想要继续使用这个数据,那就需要~给他一个名分--比如赋值给Jan1
熟练 *** 作后,筛选和赋值也可以同步进行:
结果:
常见错误举例:
解释:计算机后台已经进行了计算,成为一个近似值所以sqrt(2)等于1414(浮点数),平方运算后也不等于2,运行结果当然是FALSE。
比如:
注意以下写法是错误的:
一种简写方式:
%in% 代表 month值是11,12的数据
设定某个值是未知值的办法:filter函数是一种用于过滤序列的内置函数,它接受一个函数和一个序列,并返回一个由符合函数条件的元素组成的新序列。如果filter函数返回错误值不计数,可以使用try-except语句来捕获异常,并在except语句块中返回None,以避免错误值被计数。例如:
def filter_func(x):
try:
return x+1
except:
return None
filtered_list = list(filter(filter_func, [1,2,3,4]))
print(filtered_list) # [2,3,4,5]在使用pandas进行数据分析时,经常遇到需要过滤信息的场景,此时我们可以用到2种函数,query和filter。
query函数我认为类似sql语言中的where,可以对dataframe中的特定column进行筛选。具体语法如下:
dfquery('列名 判断 值'),如dfquery('column1 > 2 and column 2<1')
等于
df[df[列名] 判断 值],如 df[df[column1]>2 & df[column2]<1]
filter常规用法,在pandas说明里很好找到:
DataFramefilter(items=None, like=None, regex=None, axis=None)
#items对列进行筛选#regex表示用正则进行匹配#like进行筛选#axis=0表示对行 *** 作,axis=1表示对列 *** 作
今天我想分享一些特殊用法:
1 filter和匿名函数的使用,用来筛选groupby之后的数据。类似sql中groupby后的having
df1=dfgroupby('district')filter(lambda x: x['age']mean()>20)
结果会将所有age>20的district的行选掉,返回 所有 其他值。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)