“/”理解为浮点数?

2024-10-03 21:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在遍历pandas数据帧,并尝试将结果附加到条件语句中。然而,我的代码似乎提出了一个问题,阻止我附加我想要的东西,虽然它打印良好,但最终显示错误。下面是我的代码:

counta=[]
for line in ipcm_perf['Alarms']:
    if '/' in line:
       print (line)

我得到的错误如下:

     2 for line in ipcm_perf['Alarms']:
     ----> 3     if ('/') in line:
           4         print (line)
           5 

         TypeError: argument of type 'float' is not iterable

我真的不知道为什么Python会标记这条线。浮子在哪里?所有的东西都在打印,但底部有错误。它正在停止追加。你知道吗


Tags: 数据代码inpandasforif错误line
1条回答
网友
1楼 · 发布于 2024-10-03 21:33:08

您的问题是,您试图检查浮点数(line)中是否有字符串(/),Python不喜欢这样做。
这是因为在编写"/" in some_string时,Python会迭代some_string的每个字符,但他可以迭代一个浮点数。
您只需运行以下命令即可再次检查:

if '/' in 3.14:
    print("something")

输出:

TypeError: argument of type 'float' is not iterable

我想您正在搜索一个/,因为您在专栏的某个地方看到了它。如果是这样的话,可能是在string中,如果是这样的话,清理数据的快速脏方法可以是:

if type(line) == str:
    if "/" in line:
        print(line)
else:
    print("I am not a string")

使用line = 3.14,它返回:

I am not a string

使用line = "4/2",它返回:

I am a string

相关问题 更多 >