首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理这个复杂的场景,问题的使用(Pandas)。有别的办法吗?

如何处理这个复杂的场景,问题的使用(Pandas)。有别的办法吗?
EN

Stack Overflow用户
提问于 2020-07-20 07:14:00
回答 1查看 60关注 0票数 0

My场景:

(fraudster).

  • User

  • 用户A是B不是(骗子)。但是,系统将不允许用户B执行任何操作。因为B和A使用相同的电话号码(与欺诈用户共享属性)。(1层)。
  • 用户D不是(欺诈者)。但是D与B使用相同的设备is,B与欺诈用户共享属性。然后阻止用户D以及。在这种情况下,有两个层。D与B比较B与A.

比较

表:

我的代码:

代码语言:javascript
复制
import mysql.connector
from mysql.connector import Error
import pandas as pd
try:
    connection = mysql.connector.connect(host='localhost',
                                         database='database',
                                         user='root',
                                         password='')
    cursor = connection.cursor()
    df = pd.read_sql("select * from tableuser",con=connection)
##
    def expand_fraud(no_fraud, fraud, col_name):
        t = pd.merge(no_fraud, fraud, on=col_name)
        if len(t):
            df.loc[df.ID.isin(t.ID_x), "IsFraudsterStatus"] = 1
            return True
        return False

    while True:
        added_fraud = False
        fraud = df[df.IsFraudsterStatus == 1]
        no_fraud = df[df.IsFraudsterStatus == 0]
        added_fraud |= expand_fraud(no_fraud, fraud, "DeviceId")
        added_fraud |= expand_fraud(no_fraud, fraud, "Email")
        added_fraud |= expand_fraud(no_fraud, fraud, "MobileNo")
        if not added_fraud:
            break
    print(df)

except Error as e:
    print("Error reading data from MySQL table", e)
finally:
    if (connection.is_connected()):
        connection.close()
        cursor.close()
        print("MySQL connection is closed")

使用1000行。现在,我添加了500 k行,并弹出了错误消息。

错误:

我也为此使用了递归CTE,但是它只处理少量的数据。你能帮帮我吗?向我建议另一种存档方法。预计行数为400万用户。当用户单击“支付”按钮时,系统将进行验证,这意味着执行时间也是必要的。

EN

回答 1

Stack Overflow用户

发布于 2020-07-20 07:33:46

您可以使用Pandas函数isin创建与欺诈者共享特征的用户数据。

例如,要让所有拥有与欺诈者相同的电话号码的用户:

代码语言:javascript
复制
fraudsters = df[df["isFraudsterStatus" == 1]
filter = df["MobileNo"].isin(fraudsters["MobileNo"])
non_fraud_with_same_mobile = df[filter]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62990301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档