我试着用
if df.loc[df['col_1']] == float: print(df.loc[df['col_1']])
但这不管用。我基本上只是想在一个列中找到数据类型为float的所有内容,看看它是什么以及在哪里。我该怎么做呢?我需要这样做,因为列是一个对象,根据df.dtypes,但在尝试对它进行字符串操作时,我得到了一个TypeError,其中有浮点数。
float
df.dtypes
TypeError
lymnna711#
假设column是object,通常pandas每列只有一种数据类型
column
object
pandas
df.col_1.map(type)==float# will return bool
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!
2条答案
按热度按时间lymnna711#
假设
column
是object
,通常pandas
每列只有一种数据类型nkkqxpd92#
使用布尔掩码仅对字符串执行操作。这假定您的系列仅由数字和字符串类型组成。