簡體   English   中英

迭代時如何為 Panda 數據框分配一行?

[英]How do you assign a row to a Panda data frame while iterating?

import reverse_geocoder as rg
import pandas as pd
for i in range(len(df_train)) : 
    coordinate = (df_train.loc[i, "Lat"], df_train.loc[i, "Long_"]) 
    geo_dict=rg.get(coordinate)
    geo_code.loc[i,:]=pd.DataFrame.from_dict(geo_dict,orient='index').T
  # geo_code=pd.DataFrame.from_dict(geo_dict,orient='index').T
    print (geo_code)

我想以 geo_code DF 結束,從每個反向地理編碼查找中繼續一行。 我的任務

geo_code.loc[i,:]

不起作用。

enter code here`import reverse_geocoder as rg
import pandas as pd
geo_code=pd.DataFrame()
for i in range(len(df_train)) : 
    coordinate = (df_train.loc[i, "Lat"], df_train.loc[i, "Long_"]) 
    geo_dict=rg.get(coordinate)  
    geo_code=geo_code.append(pd.DataFrame.from_dict(geo_dict,orient='index').T)

您正在嘗試在創建數據框之前訪問 DataFrame 索引

df_train = pd.DataFrame({"Lat": [36.778259,28.644800],"Long_":[-119.417931,77.216721]})
for i in range(len(df_train)):
    coordinate = (df_train.loc[i, "Lat"], df_train.loc[i, "Long_"])
    geo_dict=rg.get(coordinate)
    value_array = np.array([[el] for el in geo_dict.values()]).reshape(1,-1)
    if i == 0:
        geo_code = pd.DataFrame(value_array, columns=geo_dict.keys())
    else:
        d1 = pd.DataFrame(value_array, columns=geo_dict.keys())
        geo_code = pd.concat([geo_code, d1], ignore_index=True)  

打印(地理代碼)

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM