【发布时间】:2021-09-21 05:48:19
【问题描述】:
def compute(tick):
df = pd.read_csv(f'{tick}.csv')
a = df.loc['a'].sum()
b = df.loc['b'].sum()
c = df.loc['c'].sum()
d = (a + b) / c
return d
在某些数据帧中没有“b”行,因此它返回 KeyError。然后我尝试了以下代码,但它不起作用,谁能帮我提供这个问题的解决方案?
def compute(tick):
df = pd.read_csv(f'{tick}.csv')
a = df.loc['a'].sum()
if df.loc['b'].isnull():
b == 0
else:
b = df.loc['b'].sum()
c = df.loc['c'].sum()
d = (a + b) / c
return d
【问题讨论】:
-
df.loc['b].isnull 检查 'b' 行中的值是否为 null/NaN,而不检查 b 行是否存在。检查索引为'b'的行是否存在:- if 'b' in df.index
-
b = df.loc['b'].sub() if 'b' in df else 0
标签: python pandas dataframe missing-data