我怎样才能做一个:因为我在范围内用浮子工作

2024-04-29 10:48:59 发布

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

所以我一直在做这个项目,但我还是卡住了(再次),我有一个包含344列的excel文件,他应该检查一个单元格是否有某个字符,如果有,那么它应该继续打印一个单词。如果没有,那么它也应该继续,但不打印。我相信我有正确的代码,但它仍然返回一个错误

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from pygef.gef import ParseGEF

#Read *.gef file
gef = ParseGEF("./CPT000000052185_IMBRO_A.Gef")
gef.df.to_csv("./CPT000000052185_IMBRO_A.GEF")
file = pd.read_csv("./CPT000000052185_IMBRO_A.GEF", usecols=['friction_number' , 'depth'])
print (file)

FrictionNumber = file.friction_number
print (FrictionNumber)
FrictionNumber.dtypes

for i in FrictionNumber:
    if (0.2 < FrictionNumber [i] < 2.0):
        print ("Gravel")

这是代码,它返回以下错误:

cannot do label indexing on <class 'pandas.core.indexes.range.RangeIndex'> with these indexers [1.4986376021798364] of <class 'float'>
``` (1.4986... is the value of the first cell)

如果我是对的,它会返回这个值,因为单元格中的值是浮点值。我怎样才能用浮子工作呢


Tags: csv代码importpandasas错误filepd
1条回答
网友
1楼 · 发布于 2024-04-29 10:48:59

您已经在使用iFrictionNumber进行迭代,因此可以直接使用值i进行比较

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from pygef.gef import ParseGEF

#Read *.gef file
gef = ParseGEF("./CPT000000052185_IMBRO_A.Gef")
gef.df.to_csv("./CPT000000052185_IMBRO_A.GEF")
file = pd.read_csv("./CPT000000052185_IMBRO_A.GEF", usecols=['friction_number' , 'depth'])
print (file)

FrictionNumber = file.friction_number
print (FrictionNumber)
FrictionNumber.dtypes

for i in FrictionNumber:
    if (0.2 < i < 2.0):
        print ("Gravel")

相关问题 更多 >