User Tools

Site Tools


data:pandas:allign

This is an old revision of the document!


allign data in DataFrame

#allign data to dataframe
df1 = pd.DataFrame(0.0, index=all_date, columns=[a.sidb for a in d])
start = time.time()
for q in d:
    df1.iloc[np.in1d(all_date, q.date, assume_unique=True), df1.columns.get_loc(q.sidb)] = q.pnl
print ("Result: %.2f secs" % (time.time() - start))

allign data in numpy array (3x faster)

# allign using numpy
start = time.time()
a1 = np.zeros((len(d), len(all_date)))
i = 0
for q in d:
    idx = np.in1d(all_date, q.date, assume_unique=True)
    a1[i, idx] = q.pnl
    i = i + 1
print ("Result: %.2f secs" % (time.time() - start))

you can join/merge objects if they have same type axis

for example align two time series by date

data/pandas/allign.1522777492.txt.gz · Last modified: by aistis