我正在将 Matlab 脚本移植到 Python。以下是摘录:
%// Create a list of unique trade dates
DateList = unique(AllData(:,1));
%// Loop through the dates
for DateIndex = 1:size(DateList,1)
CalibrationDate = DateList(DateIndex);
%// Extract the data for a single cablibration date (but all expiries)
SubsetIndices = ismember(AllData(:,1) , DateList(DateIndex)) == 1;
SubsetAllExpiries = AllData(SubsetIndices, :);
AllData
是一个N × 6单元矩阵,前 2 列是日期(字符串),其他 4 列是数字。在 python 中,我将从 csv 中获取这些数据,如下所示:
import numpy as np
AllData = np.recfromcsv(open("MyCSV.csv", "rb"))
因此,如果我没记错的话,现在AllData
是一个普通元组的 numpy 数组。这是保存这些数据的最佳格式吗?目标是从第 1 列中提取唯一日期列表,并为每个日期提取第 1 列中具有该日期的行(第 1 列已排序)。然后对于第一列中的每一行,对剩余 5 列中的数字和日期进行一些数学运算。
所以在matlab中我可以得到日期列表,unique(AllData(:,1))
然后我可以得到对应于该日期的记录(行)(即第一列中的日期),如下所示:
SubsetIndices = ismember(AllData(:,1) , MyDate) == 1;
SubsetAllExpiries = AllData(SubsetIndices, :);
如何在 Python 中最好地实现相同的结果?