Pandas:查找并打印列中的所有浮点数

ktecyv1j  于 2023-06-04  发布在  其他
关注(0)|答案(2)|浏览(193)

我试着用

if df.loc[df['col_1']] == float:
    print(df.loc[df['col_1']])

但这不管用。我基本上只是想在一个列中找到数据类型为float的所有内容,看看它是什么以及在哪里。我该怎么做呢?
我需要这样做,因为列是一个对象,根据df.dtypes,但在尝试对它进行字符串操作时,我得到了一个TypeError,其中有浮点数。

lymnna71

lymnna711#

假设columnobject,通常pandas每列只有一种数据类型

df.col_1.map(type)==float# will return bool
nkkqxpd9

nkkqxpd92#

使用布尔掩码仅对字符串执行操作。这假定您的系列仅由数字和字符串类型组成。

df = pd.DataFrame({'A': [1, 2, 'hello', 'test', 5, 'another']})

num_mask = pd.to_numeric(df['A'], errors='coerce').isnull()

df.loc[num_mask, 'A'] += ' checked!'

print(df)

                  A
0                 1
1                 2
2    hello checked!
3     test checked!
4                 5
5  another checked!

相关问题