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

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

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

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

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

最佳答案

to_numericerrors='coerce'结合使用,然后在您的情况下将fillna设置为1,然后将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)

关于python - 我有一个包含100多个列的表,其中一些列具有要更改为数字值的字符串值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56230116/

10-13 07:46