gpt4 book ai didi

python - 比较Python中的浮点值

转载 作者:太空宇宙 更新时间:2023-11-03 19:53:22 25 4
gpt4 key购买 nike

当我将数据帧列(本质上是浮点型)与浮点值进行比较时,我得到了不想要的结果。我的数据框如下所示:

df
Measurement Year checking
0 4.478861e-04 2015 less
1 4.478861e-04 2015 less
2 4.478861e-04 2015 less
3 4.478861e-04 2015 less
4 4.478861e-04 2015 less
5 4.478861e-04 2015 less
6 4.478861e-04 2015 less
7 4.478861e-04 2015 less
8 6.337777 2015 greater
9 8.903316 2015 greater
10 9.317186 2015 greater

数据帧的数据类型是

Measurement    float64
Year int64
checking object
dtype: object

当我使用以下代码过滤数据框时:

df[df['Measurement']> 5.69]

它返回空数据帧。同样,当我使用以下代码尝试使用循环进行比较时:

for i in range(len(df)):
if df.iloc[i,'Measurement'] > 5.69:
print('Comparison is true')

当值大于5.69时,不打印语句。谁能指导为什么代码行为异常?

最佳答案

df[df['Measurement']> 5.69] 似乎对我的数据框有用,我已经添加了代码片段。并添加了带有 if 条件的 for 循环。

import pandas as pd

data = {
'Measurement': [4.478861e-04, 4.478861e-04, 4.478861e-04, 6.337777, 8.903316],
'Year': [2015, 2015, 2015, 2015, 2015],
'checking': ['less', 'less', 'less', 'greater', 'greater']
}

df = pd.DataFrame(data)
print("DataFrame:")
print(df)

result = df.dtypes

print("\nDatatypes:")
print(result)

print("\nMeasurement:")
print(df[df['Measurement']> 5.69])

measurement = df['Measurement']

print("\nMeasurements greater than 5.69:")
for x in measurement:
if x > 5.69:
print(x)

输出:

DataFrame:
Measurement Year checking
0 0.000448 2015 less
1 0.000448 2015 less
2 0.000448 2015 less
3 6.337777 2015 greater
4 8.903316 2015 greater

Datatypes:
Measurement float64
Year int64
checking object
dtype: object

Measurement:
Measurement Year checking
3 6.337777 2015 greater
4 8.903316 2015 greater

Measurements greater than 5.69:
6.337777
8.903316

关于python - 比较Python中的浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59693179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com