我有一个包含100多个列的表,某些列具有要更改为数字值的字符串值

时间:2019-05-21 01:55:29

标签: python pandas

我有一个包含100多个列的表。我不知道的某些列中有一些不同的字符串值,但是应该具有整数类型。我想将这些字符串值更改为int数字1。对于所有可以使用的字符串值,数字都可以相同。因此,从技术上讲,我想创建一个可以遍历每一列的循环,以找到字符串值并将其更改为1。

我不确定该怎么做。 有人可以帮助我:)。

我的主要任务是找到所有带有那些字符串值的列,我设法通过堆栈溢出帮助来做到这一点。但是,有很多带有字符串值的列,所以我不能单独搜寻这些字符串值并一一更改它,因为这可能需要很长时间。

df2.select_dtypes(include = ['object'])

该代码设法将所有具有字符串值的列拉出,但是我目前遇到的下一步是将这些列的字符串值更改为数字值。

1 个答案:

答案 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