我对某些代码有疑问。我有三列浮点数。我想添加三列,然后除以其中一列。
谢谢
我有以下代码:
scopes_supported
我最后得到一个新列,不过就是NaN。
我希望能得到回报
答案 0 :(得分:0)
我认为您需要从num
循环中删除denom
和for
部分。否则,它们每次都会被覆盖。像这样:
df1 = pd.read_csv(file1)
cols = ['Opening Balance', 'Subscriptions/Redemptions', 'Gain (Loss)']
for col in cols:
df1[col] = pd.to_numeric(df1[col], errors='coerce')
# escaped for loop here
# also removed parentheses
num = df1['Opening Balance'] + df1['Subscriptions/Redemptions'] + df1['Gain (Loss)']
denom = df1['Opening Balance']
performance = num/denom
df['new column'] = performance
每次您尝试将一列转换为数值时,它仅适用于该列。然后,当您尝试将其他“非数字”列与其求和时,您可能会得到NaN
,因为它们尚未转换。在循环中完成转换,然后定义您的denom
和num
。
此外,我认为您不需要num
定义周围的括号