Python 如何表示数据的趋势(上升/下降/无变化)?

Python 如何表示数据的趋势(上升/下降/无变化)?,python,pandas,math,regression,data-science,Python,Pandas,Math,Regression,Data Science,我有一个数据集,其中每一行表示某些行为的发生次数。这些列表示一段时间内的窗口。看起来是这样的: +----------+----------+----------+----------+-----------+------+ | Episode1 | Episode2 | Episode3 | Episode4 | Episode5 | ... | +----------+----------+----------+----------+-----------+------+ |

我有一个数据集,其中每一行表示某些行为的发生次数。这些列表示一段时间内的窗口。看起来是这样的:

+----------+----------+----------+----------+-----------+------+ | Episode1 | Episode2 | Episode3 | Episode4 | Episode5 | ... | +----------+----------+----------+----------+-----------+------+ | 2 | 0 | 1 | 3 | | | | 1 | 2 | 4 | 2 | 3 | | | 0 | | | | | | +----------+----------+----------+----------+-----------+------+ +----------+----------+----------+----------+-----------+------+ |第1幕|第2幕|第3幕|第4幕|第5幕|| +----------+----------+----------+----------+-----------+------+ | 2 | 0 | 1 | 3 | | | | 1 | 2 | 4 | 2 | 3 | | | 0 | | | | | | +----------+----------+----------+----------+-----------+------+ 有150多集。我想找到一种方法,将每一行表示为一种趋势,无论出现的次数是多还是少

我试图首先计算每行每3/5/10个单元格的平均值/中值/和(因为每行有不同的长度和许多0值),并使用它们与水平线(代表时间)关联,这些关联的系数应该告诉趋势(0向上)。这些趋势将用于进一步的分析


我想知道是否有更好的方法。谢谢。

如果你认为趋势是线性的,你可以对每一行分别拟合一个线性回归,用时间来预测行为发生的次数。然后储存斜坡


此斜率表示将时间增加1集对行为的影响。它也自然地解释了时间序列长度的差异

您是否希望行的关系类似?(即全部线性)?我目前只考虑线性关系,但我愿意接受建议:)我考虑过使用线性回归,但应用起来有点棘手,因为在我的数据集中有许多nan值。那numpy的polyfit呢?嗨!我个人的建议是干脆放弃缺失的价值观。例如,将数据集转换为“长”形式,每行一个时间点,现在删除缺少的行(熊猫df有一个dropna()方法)。谢谢,我会尝试!