我正在处理以太坊欺诈检测数据集,0表示正常,1表示欺诈
我有train_account.csv
作为
| 帐目|旗|
| - ------|- ------|
| a17249|无|
| a03683| 1个|
| a22146|无|transactions.csv
作为
| 自_帐户|至_帐户|
| - ------|- ------|
| a00996| b31499|
| a07890| a22146|
| a22146| b31504|
我想创建一个test_account.csv
,其中只提供帐户,我们的任务是确定它是欺诈-1还是正常-0
| 帐目|
| - ------|
| 阿27890|
| a03683|
| a22146|
我在制作下表时遵循的规则
- 如果
train_account.csv
account
列中存在一个帐户,则将添加一个标志列,该标志列包含train_account.csv
中存在的该帐户的值。如果不存在,则检查该帐户是否存在于交易[“from_account”]或交易[“to_account”]中。如果存在,则在test_account中添加该帐户的标志值,使其为0,否则为1
| 帐目|旗|
| - ------|- ------|
| 阿27890| 1个|
| a03683| 1个|
| a22146|无|
我计划根据上述规则添加一个flag
列,而不是添加或删除额外的行
PS:我是初学者,不知道怎么做,提前谢谢
我试着在列中循环,但不知道如何检查并将其添加到结果中。类似于以下内容:
for i in test_account['account']:
if i in train_account['account']:
test_account[i]['flag'] = train_account[i]['flag']
elif i in trasnaction['from_account'] or trasnaction['to_account']:
test_account[i]['flag'] = 1
else:
test_account[i]['flag'] = 0
1条答案
按热度按时间9avjhtql1#
试试这个: