欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pandas中DataFrame新增行及global變量的使用方式

 更新時間:2024年02月02日 09:41:10   作者:追楓薩  
這篇文章主要介紹了pandas中DataFrame新增行及global變量的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

pandas DataFrame新增行及global變量使用

Global變量

在函數(shù)體或類外定義的變量,若想在函數(shù)體或類中使用,必須先聲明使用的是體外global變量

聲明格式:global 變量名

import pandas as pd
import numpy as np
import math
 
#global變量
df_result=pd.DataFrame(columns=['LABELS','DISTANCE'])
 
#計算距離
def dist(x):
    # 計算兩點經(jīng)緯度的火星坐標系距離
    global df_result #使用全局變量
    pa=[0,0]
    pb=[0,0]
    pa[0]=x["LNG"]
    pa[1]=x["LAT"]
    pb[0]=x["LNG_LAST"]
    pb[1]=x["LAT_LAST"]
    label=x["LABELS"]
    
    #計算pa、pb之間經(jīng)緯度距離
    b =math.pi/ 180
    c =math.sin((float(pb[1]) - float(pa[1])) * b / 2)
    d =math.sin((float(pb[0]) - float(pa[0])) * b / 2)
    a = c * c + d * d * math.cos(float(pa[1]) * b) * math.cos(float(pb[1]) * b)
    dis=int(12756274 * math.atan2(math.sqrt(a), math.sqrt(1 - a)))
    tmp=pd.DataFrame({"LABELS":label,
                      "DISTANCE":dis},index=[0])
 
    #向DataFrame對象新增行
    df_result=df_result.append(tmp,ignore_index=True)

geopandas與pandas

geopandas是基于pandas的邏輯開發(fā)的能夠處理矢量數(shù)據(jù)的python庫(是否能夠處理柵格不太確定)那他與pandas的關系如何呢 用一個例子測試一下

1.載入測試數(shù)據(jù)

import geopandas as gpd 
import matplotlib.pyplot as plt
icosa =gpd.read_file('./icosa.shp')
icosa1 =gpd.read_file('./icosaPoint.shp')

2.測試geopandas的merge.與pandas的merge函數(shù)相似

但是有一點區(qū)別

pdJoinData =icosa.merge(icosa1,on='global_id')
print(type(pdJoinData))
 
輸出:<class 'pandas.core.frame.DataFrame'>

官方文檔:

Attribute joins are accomplished using the merge method. In general, it is recommended to use the merge method called from the spatial dataset. With that said, the stand-alone merge function will work if the GeoDataFrame is in the left argument; if a DataFrame is in the left argument and a GeoDataFrame is in the right position, the result will no longer be a GeoDataFrame.

屬性連接是使用該merge方法完成的。一般情況下,建議使用merge從空間數(shù)據(jù)集調(diào)用的方法。

話雖如此,merge如果 GeoDataFrame 在left參數(shù)中,獨立函數(shù)將起作用;如果 DataFrame 在left參數(shù)中并且 GeoDataFrame 在right位置,結果將不再是 GeoDataFrame。

也就是所這個合并方法如果dataframe調(diào)用的,那么返回的是dataframe (pandas的數(shù)據(jù)結構)如果是GeoDataFrame 調(diào)用 并且右參數(shù)是dataframe類型那么返回的是GeoDataFrame類型

還有一種情況官方?jīng)]有說 兩個GeoDataFrame調(diào)用屬性合并merge得到什么?

如上圖得到的是pandas的DataFrame 而且里面存儲了兩個shp的geometry 也就是存儲了兩個geoserise

 通過構造函數(shù)能把這個DataFrame轉化為geoDataFrame 需要指定geometry,現(xiàn)在gdf就是geodataframe了。

和普通的相比,它有多列GeoSeries  只有最后一列 geometry代表的空間。

而且不能輸出為地理格式 因為geometry不能作為屬性輸出 但是可以to_csv

gdf = geopandas.GeoDataFrame(pdJoinData, geometry=pdJoinData['geometry_y'])

綜上,pandas和geopandas的數(shù)據(jù)類型是完全一樣的 pandas也可以包含GeoSeries 但是geopandas要包含一個默認的geometry 代表地理空間位置

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 教你使用python做一個“罰點球”小游戲

    教你使用python做一個“罰點球”小游戲

    這篇文章主要介紹了用python做一個“罰點球”小游戲,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Python遠程SSH庫Paramiko詳細操作

    Python遠程SSH庫Paramiko詳細操作

    paramiko實現(xiàn)了SSHv2協(xié)議(底層使用cryptography),用于連接遠程服務器并執(zhí)行相關操作,使用該模塊可以對遠程服務器進行命令或文件操作,今天通過本文給大家介紹Python遠程SSH庫Paramiko簡介,感興趣的朋友一起看看吧
    2022-05-05
  • Python文件遍歷os.walk()與os.listdir()使用及說明

    Python文件遍歷os.walk()與os.listdir()使用及說明

    這篇文章主要介紹了Python文件遍歷os.walk()與os.listdir()使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python深度學習pytorch神經(jīng)網(wǎng)絡匯聚層理解

    Python深度學習pytorch神經(jīng)網(wǎng)絡匯聚層理解

    通常當我們處理圖像時,我們希望逐漸降低隱藏表示的空間分辨率,聚集信息,這樣隨著我們在神經(jīng)網(wǎng)絡層疊的上升,每個神經(jīng)元對其敏感的感受野(輸入)就越大
    2021-10-10
  • Python實現(xiàn)打印彩色字符串的方法詳解

    Python實現(xiàn)打印彩色字符串的方法詳解

    print?也許是我們在使用?Python?的時候用的最多的一種操作,但是經(jīng)常發(fā)現(xiàn)很多人可以打印彩色文本,這種操作是怎么得到的呢?本文就來為大家詳細講講
    2022-08-08
  • Python中range函數(shù)的使用方法

    Python中range函數(shù)的使用方法

    這篇文章主要介紹了Python中range函數(shù)的使用方法,文章基于Python3環(huán)境展開range函數(shù)的使用方法,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • python學習教程之使用py2exe打包

    python學習教程之使用py2exe打包

    py2exe是一個將python腳本轉換成windows上的可獨立執(zhí)行的可執(zhí)行程序(*.exe)的工具,下面這篇文章主要給大家介紹了關于python學習教程之使用py2exe打包的相關資料,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-09-09
  • 基于Python實現(xiàn)自動摳圖小程序

    基于Python實現(xiàn)自動摳圖小程序

    這篇文章主要為了大家利用用Python制作一款界面化的摳圖小程序,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,感興趣的可以學習一下
    2022-01-01
  • keras中的History對象用法

    keras中的History對象用法

    這篇文章主要介紹了keras中的History對象用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python?pygame派生精靈和精靈組創(chuàng)建敵機

    Python?pygame派生精靈和精靈組創(chuàng)建敵機

    這篇文章主要為大家介紹了Python?pygame派生精靈和精靈組創(chuàng)建敵機示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論