我有一个包含100多个列的表。我不知道的某些列中有一些不同的字符串值,但是应该具有整数类型。我想将这些字符串值更改为int数字1。对于所有可以使用的字符串值,数字都可以相同。因此,从技术上讲,我想创建一个可以遍历每一列的循环,以找到字符串值并将其更改为1。
我不确定该怎么做。 有人可以帮助我:)。
我的主要任务是找到所有带有那些字符串值的列,我设法通过堆栈溢出帮助来做到这一点。但是,有很多带有字符串值的列,所以我不能单独搜寻这些字符串值并一一更改它,因为这可能需要很长时间。
df2.select_dtypes(include = ['object'])
该代码设法将所有具有字符串值的列拉出,但是我目前遇到的下一步是将这些列的字符串值更改为数字值。
答案 0 :(得分:2)
在to_numeric
中将errors='coerce'
与fillna
一起使用,然后在您的情况下,将combine_first
设为df2=df2.select_dtypes(include = ['object']).apply(pd.to_numeric,errors='coerce')\
.fillna(1).combine_first(df2)
subdf2=df2.select_dtypes(include = ['object'])
for x in list(subdf2):
df2[x]=pd.to_numeric(df2[x],errors='coerce').fillna(0)
document.getElementById("Input1").value.length