gpt4 book ai didi

python - 我有一个包含 100 多列的表,其中一些列具有字符串值,我想将其更改为数值

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:39 26 4
gpt4 key购买 nike

我有一个包含 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com