将Python Pandas Data Frame中的所有字符串类型替换为1

路易斯·凯勒(Lois Keller)

这是一个奇怪的特定问题,但

如果我有一个熊猫数据框,看起来像:

...
8                                                        0
9                                                        0
10                                                       0
11                                                       0
12                                                       0
13                                                    Dogs
14                                                    Cats
...

我需要它查看所有字符串类型并将其更改为1,因此:

...
8                                                        0
9                                                        0
10                                                       0
11                                                       0
12                                                       0
13                                                       1
14                                                       1
...

有没有办法让df.replace()查看字符串类型?

谢谢!

埃德·楚姆

只要您列中的其他值都是有效的数字值并且还没有NaNto_numeric,在这种情况下,您可以使用强制将字符串值转换为数字值NaN

然后,您可以替换NaN使用1,但由于引进的NaN,将dtype被改为float所以我们需要区分的dtypeint使用astype

In [6]:    
# read the data into our df
import pandas as pd
import io
​
t="""8                                                        0
9                                                        0
10                                                       0
11                                                       0
12                                                       0
13                                                    Dogs
14                                                    Cats"""
df = pd.read_csv(io.StringIO(t), delim_whitespace=True, header=None)
df

Out[6]:
    0     1
0   8     0
1   9     0
2  10     0
3  11     0
4  12     0
5  13  Dogs
6  14  Cats

现在,转换字符串,将其替换为并将1Series dtype强制转换回int:

In [7]:
df[1] = pd.to_numeric(df[1], errors='coerce').fillna(1).astype(int)
df

Out[7]:
    0  1
0   8  0
1   9  0
2  10  0
3  11  0
4  12  0
5  13  1
6  14  1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python pandas data frame将字符串值的结尾替换为另一个字符

Python Pandas将列中的子字符串替换为另一列中的子字符串

将字符串datetime替换为pandas dataframe中的纪元

将 Pandas 头转换为字符串类型

将长字符串转换为data.frame

使用dplyR从R中data.frame的所有列中替换特殊字符串

将所有外来字符替换为字符串

Python / Pandas-将类型从熊猫时期转换为字符串

Pandas:将所有列从字符串转换为数字,除了两个?

Python Pandas将字符串转换为int / float

Python 将 csv 字符串转换为 Pandas DataFrame

将Pandas系列对象的所有格式不一致的字符串元素强制转换为datetime.time类型

将字符串中的所有非ASCII字符替换为其等效的ASCII

如何将所有/替换为-从字符串

如何将Python Pandas Dataframe转换为R data.frame

将所有列转换为data.frame中的字符

如何将字符串转换为具有null的datetime-python,pandas?

将字符串中的所有匹配项替换为哈希表中的值

将Python数组转换为列表[Pandas]中的字符串

如何根据 Python Pandas 中定义的条件将字符串转换为定义格式的日期?

将日期格式转换为Pandas中的字符串

将列名从int转换为pandas中的字符串

试图将字符串转换为 Pandas 中的列表

python Pandas替换字符串中的单词

将所有字符串替换为DataFrame中的默认数字

将文件中的所有IP地址替换为指定的字符串

用“ SomeOtherWord-ABC”将文件中的所有字符串替换为“ SomeWord-####”

如何在字符串中问号后将所有内容替换为空白?

JavaScript将字符串中的所有元音替换为toUpperCase吗?