循环返回问题行Python熊猫列表

问题描述

我想创建一个列表或数据框,以指示基于多行的数据丢失。

我有一个400多个随机存储为AA1111BB2222的唯一客户端ID(CID)的列表,这些ID与全名和出生日期相关联。我想使用这些CID来填写种族,性别,种族等静态人口统计信息的缺失数据。

到目前为止,我正在使用两个代码块:

mask = 'AA1111BB2222'

df_i = df2[df2['CID'] == mask]
print(df_i['fname'].value_counts())
print(df_i['lname'].value_counts())
print(df_i['DOB'].value_counts())
print(df_i['gender'].value_counts())
print(df_i['race'].value_counts())
print(df_i['ethnicity'].value_counts())

然后我查看输出,例如,可能是:

Alexander    10
Name: fname,dtype: int64
Hamilton    10
Name: lname,dtype: int64
1/11/1755    10
7/4/1776      2
Name: DOB,dtype: int64
Male    10
Female   1
Name: gender,dtype: int64
Unknown    1
White      4
Name: race,dtype: int64
Unknown                   1
Not of Hispanic Origin    4
Name: ethnicity,dtype: int64

由此可见,亚历山大·汉密尔顿很可能是男,生于1755年1月1日,怀特,不是西班牙裔。

然后我输入此内容以确保主数据框中的所有行都是正确的。

df2.loc[df2.CID == 'AA1111BB2222',['fname','lname','DOB','gender','race','ethnicity']] = 'Alexander','Hamilton','1/11/1755','Male','White','Not of Hispanic Origin'

此刻,我能想到的是创建一个循环,该循环在每个value_count()中寻找最高值,然后在所有值均匹配的情况下针对给定的CID返回FALSE。这样,我就可以查看存在差异的CID。某些CID将返回类似这样的内容,在这种情况下,它们不值得研究。

Alexander    10
Name: fname,dtype: int64
1/11/1755    10
Name: DOB,dtype: int64
Male    10
Name: gender,dtype: int64
White      10
Name: race,dtype: int64
Not of Hispanic Origin    10
Name: ethnicity,dtype: int64

从某种意义上讲,这将减少我需要调查以填充缺失数据的CID数量。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...