Pandas dataframe未更新所有列

2024-09-25 08:37:46 发布

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

我正在运行以下测试代码,通过“nearappearance”和“midappearance”将冲突映射到附近的buildingid。结果出乎意料,我不确定代码中缺少了什么

因此,我得到的结果似乎正确地更新了“TicketIssuedDT”和“nearappearance”、“midappearance”列,但是“BuildingID”和“X”列只正确地映射到结果['X'][0]和结果['BuildingID'][0]。其余所有999行的“BuildingID”和“X”都有0

result = pd.DataFrame(np.zeros((1000, 5)),columns=['BuildingID', 'TicketIssuedDT', 'NearVicinity', 'MidVicinity','X'])

z = 0    
for i in range(0,10):
#for i, j in dataframe2.iterrows(): 
    dataframe2Lat = dataframe2['Latitude'][i]
    dataframe2Long = dataframe2['Longitude'][i]

    for x in range(0,11102):
    #for x, y in dataframe1.iterrows():
        dist = (math.fabs(dataframe2Long - dataframe1['Longitude'][x]) + math.fabs(dataframe2Lat - dataframe1['Latitude'][x]))
        if dist < .02:
            result['X'][z] = x
            result['BuildingID'][z] = dataframe1['BuildingID'][x]
            result['TicketIssuedDT'][z] = dataframe2['TicketIssuedDT'][i]
            result['MidVicinity'][z] = 1
            if dist < .007:
                result['NearVicinity'][z] = 1
            else:
                result['NearVicinity'][z] = 0
            z += 1  
    print(i)

Tags: infordistrangeresultiterrowsdataframe1dataframe2