我尝试使用
if df.loc[df['col_1']] == float:
print(df.loc[df['col_1']])
但这不起作用。我基本上只是想在列中找到数据类型float
的所有内容,并查看其内容和位置。我该怎么做?
我需要这样做,因为列是根据df.dtypes
的对象,但是在尝试对其进行字符串操作时,我得到了TypeError
包含浮点数的信息。
答案 0 :(得分:2)
所以我假设您有column
type
是object
,通常pandas
每列只有一种数据类型
df.col_1.map(type)==float# will return bool
答案 1 :(得分:2)
使用布尔掩码仅对字符串执行操作。假设您的系列仅由数字和字符串类型组成。
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!