1:创建一个,澳元/美元的非缺失报价,以日期为行标签,没有缺失的澳元/美元

2:创建eur_aud_series,包含欧元/澳元汇率的非缺失报价,以日期为行标签,没有缺失的欧元/澳元
3:讲两个系列合并到一个df数据框中,行标签为日期,“AUD/USD”、“EUR/AUD”列标签

img

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)