csv文件包含超过18列,我希望执行数据清理,而不删除具有空值的行。
有些列有字符串,而其他列有浮点和int,所以我想创建一个函数,自动检查某些列的空值,并替换为最出现的值(如果这是基于字符串的列)和平均值为基于int和浮点的列,而不是手动。
|response|score|
|A |25 |
|A | |
|B |20 |
|C |15 |
| |25 |
字符串
我的示例代码
df['response']=df['response'].fillna('A').astype(str)
df['score']=df['score'].fillna(df.score.mean()).astype(float)
型
2条答案
按热度按时间cvxl0en21#
对
pandas.api.types.is_numeric_dtype
使用自定义函数:字符串
作为一句俏皮话
型
输出量:
型
deikduxw2#
你可以试试这个:
字符串
这将用相同“响应”的值的平均值替换空值。
您可以将函数更改为median,max,min -取决于您的用例
如果要对所有列执行此操作:
型