我使用下面的isinstance()函数来检查数据框列上的单元格是否是字符串。但是,我得到了以下错误:
KeyError: 13900
在处理上述异常的过程中,发生了另一个异常:
代码如下。
df1= pd.read_csv('FED001_072321_07.CSV', header=0, index_col = None)
import os
g=os.listdir(os.getcwd())
for file in g:
df= pd.read_csv(file, header=0, index_col = None)
ipt=df.iloc[:,-2]
ipt=ipt.dropna()
for i in ipt:
if isinstance(ipt[i], String)==False:
sum=sum+ipt[i]
j=j+1
发布于 2021-07-29 06:53:15
虽然我不确定你的目标是什么,但这可能会达到你想要的效果。
import os
import numpy as np
import pandas as pd
df1 = pd.read_csv('FED001_072321_07.CSV', header=0, index_col=None)
sum_ = 0
for file in os.listdir(os.getcwd()):
df = pd.read_csv(file, header=0, index_col=None)
sum_ += df.iloc[:, -2].dropna().where(np.isreal).astype(float).sum()
听起来,您的一些列在同一列中有不同的类型。如果可以假设每个列的df.iloc[:, -2]
都是浮点数,那么这种逻辑中的大部分都是不必要的。
https://stackoverflow.com/questions/68567921
复制相似问题