Pandas TypeError:不支持的操作数类型-:"float"和"str"(Python)



将序列组合成数据帧使用右侧脚手架中定义的aud_usd_lst和eur_aud_lst列表,执行以下任务:

  1. 创建一个名为aud_usd_series的系列,其中包含澳元/美元汇率的无遗漏报价。具体而言:

系列应该以日期作为行标签。澳元/美元不应缺失。

  1. 创建一个名为eur_aud_series的系列,其中包含欧元/澳元汇率的无遗漏报价。具体而言:

系列应该以日期作为行标签。欧元/澳元不应缺失。

  1. 将这两个系列组合到一个名为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'的操作数类型

有什么建议吗?

如果这是您想要的基于问题中的数据集的输出:

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/audn"
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)

TypeError:不支持-:'float'和'str'的操作数类型

这意味着你在浮动和字符串之间进行操作,而是不可能的

将所有代码放在codex的编辑功能中,并将错误放在指令框中。告诉它修复错误。

最新更新