所以我有两个pandas时间序列,两者的索引都是时间戳.问题是 - 并非所有时间戳都存在于两个时间序列中.我想对匹配的点执行线性回归,忽略那些没有"对"的点
这是我目前的解决方案,但它似乎有点冗长和丑陋:
indexes_used = sorted(list(set(series1).intersection(series2)))
perform_regression(series1.loc[indexes_used], series2.loc[indexes_used])
Run Code Online (Sandbox Code Playgroud)
或者,我正在考虑做(但创建临时数据帧似乎是多余的):
temp_frame = pd.concat([series1, series2]).T.dropna() #need the transpose to keep timestamps on vertical axis
perform_regression(blabla)
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
怎么样Series.align
:
import pandas as pd
a = pd.Series([4, 5, 6, 7], index=[1, 2, 3, 4])
b = pd.Series([49, 54, 62, 74], index=[2, 6, 4, 0])
a2, b2 = a.align(b, join="inner")
Run Code Online (Sandbox Code Playgroud)
输出:
2 5
4 7
dtype: int64
2 49
4 62
dtype: int64
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
279 次 |
最近记录: |