列算术

时间:2019-06-17 21:26:04

标签: python pandas

我对某些代码有疑问。我有三列浮点数。我想添加三列,然后除以其中一列。

谢谢

我有以下代码:

scopes_supported

我最后得到一个新列,不过就是NaN。

我希望能得到回报

1 个答案:

答案 0 :(得分:0)

我认为您需要从num循环中删除denomfor部分。否则,它们每次都会被覆盖。像这样:

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,因为它们尚未转换。在循环中完成转换,然后定义您的denomnum

此外,我认为您不需要num定义周围的括号