Python 日历史平均阈值
我的数据集如下所示:Python 日历史平均阈值,python,pandas,dataframe,statistics,Python,Pandas,Dataframe,Statistics,我的数据集如下所示: USER MEDIA DD_MM SCORES 0 4 mw 02/11 9737662 1 4 dk 03/11 11691966 2 4 ma 02/11 5140069 3 4 mw 03/11 10165111 4 4
USER MEDIA DD_MM SCORES
0 4 mw 02/11 9737662
1 4 dk 03/11 11691966
2 4 ma 02/11 5140069
3 4 mw 03/11 10165111
4 4 mw 01/11 8962654
5 4 dk 02/11 10112785
6 4 ma 03/11 5661891
7 4 ma 01/11 4942428
8 4 dk 01/11 12246323
0 5 ma 03/11 314034
1 5 mw 01/11 16071400
2 5 dk 03/11 16767571
3 5 dk 01/11 20256912
4 5 dk 02/11 15766468
5 5 mw 02/11 18605524
6 5 mw 03/11 20559416
7 5 ma 02/11 260323
8 5 ma 01/11 287743
0 8 mw 03/11 2155365
1 8 dk 01/11 1787907
2 8 ma 03/11 1516463
3 8 dk 02/11 592109
4 8 mw 01/11 1874539
5 8 mw 02/11 801637
6 8 ma 01/11 1187740
我们的目标是试图预测新出现的信息是否不是异常数据。
如何将其用作历史数据来设置阈值?例如,当有以下属性的新数据进入时:
user=4,media=dk,scores=500
,这应该被归类为异常。经过进一步研究,我意识到我必须找到历史日平均值,然后从平均值中减去两个标准差。我如何计算呢?如果您有一个数据帧:
df=pd.DataFrame({'A':[1,2,3,4,5],'B':[9,8,7,6,5],'C':[2,5,7,9,11]})
假设您希望使用此函数将其行分类为某些类别:
def rowclassifier(row):
if sum(row)>15:
return 'much'
else:
return 'not much'
然后你可以做:
df['class']=df[['A','B','C']].apply(lambda row: rowclassifier(row),axis=1)
df
将是:
A B C class
0 1 9 2 not much
1 2 8 5 not much
2 3 7 7 much
3 4 6 9 much
4 5 5 11 much
如果您有一个用于自己数据的
行分类器
函数,我认为您可以应用上述方法。如果您有一个数据帧:
df=pd.DataFrame({'A':[1,2,3,4,5],'B':[9,8,7,6,5],'C':[2,5,7,9,11]})
假设您希望使用此函数将其行分类为某些类别:
def rowclassifier(row):
if sum(row)>15:
return 'much'
else:
return 'not much'
然后你可以做:
df['class']=df[['A','B','C']].apply(lambda row: rowclassifier(row),axis=1)
df
将是:
A B C class
0 1 9 2 not much
1 2 8 5 not much
2 3 7 7 much
3 4 6 9 much
4 5 5 11 much
如果你有一个
rowclassifier
函数用于你自己的数据,我想你可以应用上面的方法。基于什么算法对行进行分类?如果你没有算法,你可以用Tensorflow开发一个模型。我从一个大数据库查询数据。我想坚持统计学意义。我想做的事情就不那么复杂了:)对不起,伙计,我不知道你想怎么做,但增加了一个可能的例子:)没问题。我来看看你的例子。干杯。你根据什么算法对行进行分类?如果你没有算法,你可以用Tensorflow开发一个模型。我从一个大型数据库查询数据。我想坚持统计学意义。我想做的事情就不那么复杂了:)对不起,伙计,我不知道你想怎么做,但增加了一个可能的例子:)没问题。我来看看你的例子。干杯