Python 了解数据帧的预期输出
我有以下数据框架,它实际上由更多的数据点和天数组成:Python 了解数据帧的预期输出,python,pandas,Python,Pandas,我有以下数据框架,它实际上由更多的数据点和天数组成: df = pd.DataFrame({'day_1': [0,1,1,0,1,1,0], 'day_2': [0,0,1,1,1,1,0], 'day_3': [0,1,1,1,0,0,0], 'day_4': [0,1,0,1,0,1,0], 'day_5': [1,0,1,1,1,0,0]}) day_1 day_2 day_3 day_4 day_5 0 0 0
df = pd.DataFrame({'day_1': [0,1,1,0,1,1,0], 'day_2': [0,0,1,1,1,1,0], 'day_3': [0,1,1,1,0,0,0], 'day_4': [0,1,0,1,0,1,0], 'day_5': [1,0,1,1,1,0,0]})
day_1 day_2 day_3 day_4 day_5
0 0 0 0 0 1
1 1 0 1 1 0
2 1 1 1 0 1
3 0 1 1 1 1
4 1 1 0 0 1
5 1 1 0 1 0
6 0 0 0 0 0
零和一应该连续几天出现在相同的索引上。然而,由于测量误差,预期值有时为零。
编辑:预期的零也可以是一。
我想建立一个简单的模型,“学习”期望的行为,并给出第6天的预期输出。期望输出为(事先不知道,但应通过模型学习):
我知道这可以通过各种机器学习选项来实现。但是,我想在一个小型微控制器中实现代码,因此我想知道是否有一种方法可以在不使用大量计算能力的情况下实现这一点。您可以做的最简单的事情是:
test_val = 0.5 # The average value for the previous days, from which you decide the output should be 1
df['day_6'] = 1 * (df.mean(axis=1) >= test_val)
这将为您提供每行1的输出,其中至少50%(test_val值)的列为1,否则为0。您可以添加所有列的预期输出吗?@jezrael i在预期输出中有一个输入错误。根据所有日期的数据,预期输出为一列。例如,在第一天,指数3为零,需要为1。在第二天,索引1上的0应该是1。我想在第六天之前发现一种模式并说:可能会有指数1到5之间的模式。希望这能让你明白你是如何从输入到输出的。例如,对于索引为5的行,为什么您认为输出应该是1而不是0?请在问题中的编辑中解释,而不是在此处作为注释。hmmm是否可以使用
打印(df.max(axis=1))
?如果没有,您能更改数据样本以便更好地解释它吗?@jezrael您的意思是df.max(axis=1)
谢谢!我一直在想类似的事情。然而,为测试值选择一个合适的值可能是一件困难的事情。
test_val = 0.5 # The average value for the previous days, from which you decide the output should be 1
df['day_6'] = 1 * (df.mean(axis=1) >= test_val)