【发布时间】:2017-03-14 05:56:46
【问题描述】:
我试图找到陆地面积与水域面积的比率,但当我尝试将这两个数字相除时得到 0:
import pandas as pd
import sqlite3
import math
conn = sqlite3.connect('factbook.db')
query = "SELECT SUM(area_land ) from facts WHERE area_land != '';"
query2 = "SELECT SUM(area_water) from facts WHERE area_water != '';"
area_land= pd.read_sql_query(query,conn)
#print(area_land.iloc[0])
area_water= pd.read_sql_query(query2,conn)
ratio = area_land.iloc[0]/area_water.iloc[0]
print(ratio)
我必须将 ratio 初始化为 float 类型吗?
这是两个变量的输出:
SUM(area_land ) 128584834
Name: 0, dtype: int64
SUM(area_water) 4633425
Name: 0, dtype: int64
【问题讨论】:
-
您使用的是 Python 2 还是 Python 3?
-
请改用
float(num1)/float(num2)或float(num1)/num2或num1/float(num2)。 2 的除法int在 Python 2 中为您提供另一个int。 -
area_land.iloc[0]和area_water.iloc[0]的值是多少? -
@Macin 我在我的问题中添加了输出
标签: python sql sqlite pandas dataframe