熊猫数据框总和浮动值

时间:2018-11-08 21:42:02

标签: python pandas

所以我是python的新手。我正在完成一个需要绘制两个经度和纬度点之间的距离的项目,我的工作几乎完成了。我们正在基于此距离创建一个竞争性索引,该索引始终导致某个十进制值或0。反过来,我将所有这些值存储在pandas数据框中,并尝试将所有这些值求和以创建总计这些索引。

这是我的代码。 (为简洁起见,我没有在第6行中列出所有c1到c435)

import pandas as pd
import geopy.distance
import numpy as np
import csv as csv
from pandas import ExcelWriter
df_distance = pd.DataFrame(['C1': 'C413'])])

df4 = pd.read_csv(r'C:\Users\Jake\PycharmProjects\FM-NAICS-1.0\DF4.csv')
with open("dist_test.csv", "w") as csvfile:
csize = 10 ** 5
for df3 in pd.read_csv(r'DF3.csv', keep_default_na=False, chunksize=csize):
    for index, row in df3.iterrows():
        lat1 = row['Lat']
        lon1 = row['Long']
        distance = 0
        for index2,row2 in df4.iterrows():
            lat2 = row2['Lat']
            lon2 = row2['Long']
            coords_1 = [lat1, lon1]
            coords_2 = [lat2, lon2]
            distance = geopy.distance.distance(coords_1, coords_2).miles
            if distance > 300:
                distance = 0
            else:
                distance = distance
            df_distance = pd.DataFrame([distance])
            distance_index = ((300 - distance)/300)
            if distance_index != 1:
                distance_index = distance_index
            else:
                distance_index = None
            di_df = pd.DataFrame([distance_index])
            sum_di = di_df.sum()
        exit()

如何获取sum_di以求和数据帧距离索引中的所有值?现在,我只是获得每个点及其dtype的输出:float 64。

我想将其附加到di_df数据帧的末尾。

任何帮助将不胜感激。非常感谢你们。

1 个答案:

答案 0 :(得分:1)

如果我对问题的理解正确,则只需指定列:

>>> sum_di = di_df['distance_index'].sum()

另外,如果打算在完成后求和,请确保它发生在循环之外,而不是内部。