【发布时间】:2021-12-20 10:28:14
【问题描述】:
我有一个包含多个像这样的加密货币的 csv 文件。第 2 到 4 列是 id、symbol、name。
6201,nano-dogecoin,indc,Nano Dogecoin
6202,nano-shiba-inu,NanoShiba,Nano Shiba Inu
6203,nantrade,nan,NanTrade
6204,naos-finance,naos,NAOS Finance
6205,napoleon-x,npx,Napoleon X
我有一个函数,我可以通过这样的符号获取 id:
def symbols_to_ids(self, symbols):
ids = []
df = pd.read_csv(os.getcwd() + "/Backtester/Results/Misc/allcoins.csv")
for index, row in df.iterrows():
for symbol in symbols:
if str(row["symbol"].lower()) == str(symbol.lower()):
ids.append(row["id"])
return ids
但是我得到一个错误,因为其中一个符号是 nan。我很确定它会被视为浮点数,因为当行符号为 nan 时会引发此错误:
if str(row["symbol"].lower()) == str(symbol.lower()): AttributeError: 'float' object has no attribute 'lower'
我尝试将其转换为字符串,但它不起作用。我认为这可以在 pandas 中解决,但我不知道如何。
【问题讨论】:
标签: python pandas type-conversion