將 Series 組合成 DataFrame 使用右側腳手架中定義的 aud_usd_lst 和 eur_aud_lst 串列,執行以下任務:
- 創建一個名為 aud_usd_series 的系列,其中包含 AUD/USD 匯率的非缺失報價。具體來說:
該系列應將日期作為行標簽。不應缺少澳元/美元值。
- 創建一個名為 eur_aud_series 的系列,其中包含 EUR/AUD 匯率的非缺失報價。具體來說:
該系列應將日期作為行標簽。不應有遺漏的 EUR/AUD 值。
- 將這兩個系列組合成一個名為 df 的資料框,因此它將日期作為行標簽,將“AUD/USD”、“EUR/AUD”作為列標簽。
import pandas as pd
import numpy as np
from unanswered import *
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),
]
這是我的代碼:
aud_usd_series = pd.Series(np.array(aud_usd_lst)[:,1], index=np.array(aud_usd_lst)[:,0])
aud_usd_series
eur_aud_series = eur_aud_series = pd.Series(np.array(eur_aud_lst)[:,1], index=np.array(eur_aud_lst)[:,0])
eur_aud_series
df = pd.DataFrame([aud_usd_series,eur_aud_series]).T
df.columns = ['AUD/USD','EUR/AUD']
df
我試圖運行代碼,它說
TypeError: 不支持的運算元型別 -: 'float' 和 'str'
有什么建議嗎?
uj5u.com熱心網友回復:
TypeError: 不支持的運算元型別 -: 'float' 和 'str'
這意味著您無法在浮點數和字串之間進行操作??
uj5u.com熱心網友回復:
如果這是基于您問題中的資料集的您想要的輸出:
date aud/usd eur/aud
0 2020-09-08 0.7280 1.6232
1 2020-09-09 0.7209 1.6321
2 2020-09-11 0.7263 1.6282
3 2020-09-15 0.7285 1.6288
然后,這是代碼:
from io import StringIO
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-10', 1.6221),
('2020-09-11', 1.6282),
('2020-09-15', 1.6288),
]
temp1 = []
temp2 = []
date_list = []
for x in aud_usd_lst:
temp1.append(x[0])
for x in eur_aud_lst:
temp2.append(x[0])
date_list = sorted(list(set(temp1).intersection(temp2)))
new_df_as_string = "date,aud/usd,eur/aud\n"
for x in date_list:
new_df_as_string = new_df_as_string x ","
for y in aud_usd_lst:
if y[0] == x:
new_df_as_string = new_df_as_string str(y[1]) ","
for z in eur_aud_lst:
if z[0] == x:
new_df_as_string = new_df_as_string str(z[1]) "\n"
new_df_as_file = StringIO(new_df_as_string)
df = pd.read_csv(new_df_as_file, sep=",")
print(df)
uj5u.com熱心網友回復:
把你所有的代碼放到codex的編輯功能里,錯誤在說明框里。告訴它修復錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/517792.html
