我有一个数据框,列名称如下:
Column (Name) Column Name 2 Column3 Column (4)
NULL NULL C3 100
22 C44 C55 NULL
2 C5 C11 13
我希望用平均值和最小值替换子集Column (Name)
和Column (4)
中的空值。如何做到这一点?Column (Name)
和Column (4)
中的值是数字
df['Column (Name)']=df['Column (Name)'].fillna(df['Column (Name)'].mean())
df['Column (4)']=df['Column (4)'].fillna(df['Column (4)'].min())
我得到以下错误:
TypeError: can only concatenate str (not "int") to str
预期产出:
Column (Name) Column Name 2 Column3 Column (4)
12 NULL C3 100
22 C44 C55 13
2 C5 C11 13
尝试连接字符串和整数时会引发此错误。仅当存在相同类型时才能连接。尝试使用str()方法将整数转换为字符串
实际上使用你的代码我没有错误。请将
dtypes
与我的代码进行比较读取您的数据
检查数据类型
填写平均值和最小值的代码
填充值为12.0和13.0
您的错误意味着列中有一些非数值
测试列是否为数字,如果不是,则将其转换为df.dtypes:
然后您可以测试哪些值是错误的:
最后转换为数字:
或者,如果要转换多个列:
然后使用您的解决方案:
或者您可以使用^{} :
相关问题 更多 >
编程相关推荐