python - numpy array elementwise 乘以 Pandas 时间序列

标签 python numpy pandas

我有这两个数据结构:

a = np.array([1,2,3])
ts = pd.TimeSeries([1,2,3])

最后我想得到的是:

1  2  3
2  4  6
3  6  9

最佳答案

可以使用外积:

In [490]: np.outer(a, ts)
Out[490]: 
array([[1, 2, 3],
       [2, 4, 6],
       [3, 6, 9]])

或者先垂直对齐其中一个:

In [491]: a * ts[:, None]
Out[491]: 
array([[1, 2, 3],
       [2, 4, 6],
       [3, 6, 9]])

请注意,奇怪的索引只是使它成为一个列向量:

In [493]: ts[:, None]
Out[493]: 
array([[1],
       [2],
       [3]])

通过向形状添加一个额外的 length-1 维度:

In [494]: ts[:, None].shape
Out[494]: (3, 1)

关于python - numpy array elementwise 乘以 Pandas 时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22358174/

相关文章:

python - 了解 torch.nn.Parameter

Python源文件组织

python - 如何有效地 cythonize "vectorize"函数(numpy 库)- python

python - 创建每 n 个元素跳过 k 个元素的整数序列

python - 从 groupby 创建字典字典

python - 推文分析: Get unique positive,唯一否定词和唯一中性词:优化方案:自然语言处理:

python - 填充其他拖车数据框的值

python - 如何在Python中获取所有数字的UTC时间戳

python - 使用 django-csvimport 的项目迁移错误

python - 在 Python 中读取 .grd 文件