使用for循环在pandas中创建新列?

问题描述 投票:0回答:1

我想使用来自另一列的多个值的组合在数据框中创建一个新列。

我尝试了以下代码,但似乎无法正常工作。我看不到操作员正在工作。

enter code here

lst = [df1]
for column in lst:
     column.loc[(column["booking_text"] in ['SEPA-Gutschrift','SEPA-Cash 
      Management Gutsch','FASTER PAYMENTS','SCHECK-EV','BACS CREDIT','POS 
      Gutschrift','Scheckeinreichung e.V.'])
      & (column["debit_credit"] == 'Credit'), "financial_category"] = 'Reveunue_Credit'

      df1['financial_category'] = df1['financial_category']

ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

python-3.x pandas for-loop
1个回答
0
投票
lst = [df1]
for column in lst:
 column.loc[(column["booking_text"].isin(['SEPA-Gutschrift','SEPA-Cash Management 
 Gutsch','FASTER PAYMENTS', 'SCHECK-EV','BACS CREDIT','POS 
 Gutschrift','Scheckeinreichung e.V.'])) & (column["debit_credit"] == 'Credit'), 'financial_category'] = 'Reveunue_Credit'
© www.soinside.com 2019 - 2024. All rights reserved.