如何从两个不同的表中检查列是否可以为空,然后进行处理?

2024-06-08 19:28:38 发布

您现在位置:Python中文网/ 问答频道 /正文

df1: 
   name     job       id_number  Salary
0  krul                125796    45000
1  arnold   lawyer     789632    25000
2  daisy    engg       256498    
3  alex                456985    65884
4  mandy    arch       456258    36958
5  krul     painter    
6  perry               789632 
7  timu     lawyer     
8  timy     lawyer     789632    69822
9  daisy    engg       
10 daisy    engg       256498    54869


df2:
ColumnName  allow_null
  name       True
  job        True
  id_number  False
  Salary     True

我想检查df1中每列缺失值的总和,并替换为该列的平均值或模式

如果该列如df2中所述是非空的(allow\u null==False),那么引发错误,或者根据列数据类型用mean或mode替换它


Tags: nameidfalsetruenumberjobnulldf1
1条回答
网友
1楼 · 发布于 2024-06-08 19:28:38
TrueLst=df2[df2["allow_null"]==True].index.tolist()
for i in TrueLst:
    if i in df1.columns.tolist():
        if df["job"].dtype==np.int64
            df1["job"]=df1["job"].np.where(df1["job"].isnull(),df["col1"].mean(),null)
        elif df["col1"].dtype==object
            df1["job"]=df1["job"].np.where(df1["job"].isnull(),df["col1"].mode()[0],null)
        else:
            pass

再详细一点会有帮助,但像上面这样的事情就可以了。 不需要处理False所在的列。看看那个专栏里有没有NaN

相关问题 更多 >