2:创建eur_aud_series,包含欧元/澳元汇率的非缺失报价,以日期为行标签,没有缺失的欧元/澳元
3:讲两个系列合并到一个df数据框中,行标签为日期,“AUD/USD”、“EUR/AUD”列标签
aud_usd_series =?需要是一个pandas series
eur_aud_series =?需要是一个pandas series
df=?
代码如下:
import numpy as np
import pandas as pd
aud_usd_lst = [
('2020-09-08', 0.7280),
('2020-09-09', 0.7209),
('2020-09-11', 0.7263),
('2020-09-14', 0.7281),
('2020-09-15', 0.7285)
]
eur_aud_lst = [
('2020-09-08', 1.6232),
('2020-09-09', 1.6321),
('2020-09-11', 1.6221),
('2020-09-14', 1.6282),
('2020-09-15', 1.6288)
]
aud_usd_series = pd.DataFrame(data=aud_usd_lst, columns=["日期", "AUD/USD"])
eur_aud_series = pd.DataFrame(data=eur_aud_lst, columns=["日期", "EUR/AUD"])
print(aud_usd_series)
print(eur_aud_series)
df = pd.merge(aud_usd_series, eur_aud_series, how="inner", on="日期")
print(df)
import pandas as pd
import time
import numpy as np
from datetime import datetime
aud_usd_lst = [
('2020-09-08', 0.7280),
('2020-09-09', 0.7209),
('2020-09-11', 0.7263),
('2020-09-14', 0.7281),
('2020-09-15', 0.7285)
]
eur_aud_lst = [
('2020-09-08', 1.6232),
('2020-09-09', 1.6321),
('2020-09-10', 1.6221),
('2020-09-11', 1.6282),
('2020-09-15', 1.6288)
]
data = list(set([i[0] for i in aud_usd_lst] + [i[0] for i in eur_aud_lst]))
data = sorted(data, key=lambda x: time.strptime(x, '%Y-%m-%d'))
aud_usd_series_temp = []
for i in data:
temp = list(filter(lambda x: x[0] == i, aud_usd_lst))
aud_usd_series_temp.append((i, temp[0][1] if len(temp) > 0 else None))
# print(aud_usd_series_temp)
eur_aud_lst_temp = []
for i in data:
temp = list(filter(lambda x: x[0] == i, eur_aud_lst))
eur_aud_lst_temp.append((i, temp[0][1] if len(temp) > 0 else None))
# print(eur_aud_lst_temp)
aud_usd_series = pd.Series(data=[i[1] for i in aud_usd_series_temp], index=[i[0] for i in aud_usd_series_temp])
eur_aud_lst = pd.Series(data=[i[1] for i in eur_aud_lst_temp], index=[i[0] for i in eur_aud_lst_temp])
print(aud_usd_series)
print(eur_aud_lst)
result = aud_usd_series.to_frame('AUD/USD').merge(eur_aud_lst.rename('EUR/AUD'), left_index=True, right_index=True)
print(result)