Python 3.x 如何按行将for循环中完成的计算按索引分配给空列?

Python 3.x 如何按行将for循环中完成的计算按索引分配给空列?,python-3.x,pandas,Python 3.x,Pandas,我有这样一个数据框(包含更多行): 我给两个变量分配了两个数值,如下所示: account = 1000 stock_amount = 0 对于df中组合了True和False的每一行,我想通过使用数值变量进行计算来更新列acct\u stock和usd\u account: 我为循环提出了以下: for index,row in df.iterrows(): if (row['Buy'] == True & row['Sell'] == False): r

我有这样一个数据框(包含更多行):

我给两个变量分配了两个数值,如下所示:

account = 1000
stock_amount = 0
对于df中组合了
True和False
的每一行,我想通过使用数值变量进行计算来更新列
acct\u stock
usd\u account

我为循环提出了以下

for index,row in df.iterrows():


    if (row['Buy'] == True & row['Sell'] == False):
        row['acct_stock'] = (account * 0.02)/row[4]
        row['usd_account'] = account - (stock_amount * 0.02)
当我运行此命令时,
acct\u stock和usd\u account
列根本不会得到更新,即使对于满足条件的行也是如此


我做错了什么?计算没有按索引分配到相关列/行,变量
“account”
和“
stock\u amount
”也在不断更新

为什么不工作的答案包含在中,您需要查看的代码是


但是请记住,在设置值之前,您需要先设置这些列

我想出来了,这是您提到的,而且我没有使用
,而是使用
&
。谢谢哦,是的,您只能在python中使用and,但是在df.loc[]中您可以使用and&
for index,row in df.iterrows():


    if (row['Buy'] == True & row['Sell'] == False):
        row['acct_stock'] = (account * 0.02)/row[4]
        row['usd_account'] = account - (stock_amount * 0.02)