要按组获取多个时间序列的趋势线斜率,可以使用Python中的pandas和numpy库来实现。以下是一个示例代码,该代码使用了pandas的groupby函数和numpy的polyfit函数来计算每个组的趋势线斜率:
import pandas as pd
import numpy as np
# 创建一个示例数据集
data = pd.DataFrame({
'group': ['A', 'A', 'A', 'B', 'B', 'B'],
'time': pd.to_datetime(['2020-01-01', '2020-02-01', '2020-03-01', '2020-01-01', '2020-02-01', '2020-03-01']),
'value': [10, 15, 20, 5, 10, 15]
})
# 按组计算趋势线斜率
result = data.groupby('group').apply(lambda x: np.polyfit(x.index, x['value'], 1)[0])
print(result)
运行以上代码会输出每个组的趋势线斜率。该示例数据集包含了两个组(A和B),每个组包含三个时间点和对应的值。代码中的lambda函数用于对每个组进行计算,其中np.polyfit函数用于拟合线性趋势线并返回斜率。最后,使用groupby函数将每个组的斜率合并为一个结果。
上一篇:按组获取表格的百分比
下一篇:按组获取具有最大日期的SQL值