最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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'])
 
#計(jì)算距離
def dist(x):
    # 計(jì)算兩點(diǎn)經(jīng)緯度的火星坐標(biāo)系距離
    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"]
    
    #計(jì)算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對(duì)象新增行
    df_result=df_result.append(tmp,ignore_index=True)

geopandas與pandas

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

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

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

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

但是有一點(diǎn)區(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ù)中,獨(dú)立函數(shù)將起作用;如果 DataFrame 在left參數(shù)中并且 GeoDataFrame 在right位置,結(jié)果將不再是 GeoDataFrame。

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

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

如上圖得到的是pandas的DataFrame 而且里面存儲(chǔ)了兩個(gè)shp的geometry 也就是存儲(chǔ)了兩個(gè)geoserise

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

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

而且不能輸出為地理格式 因?yàn)間eometry不能作為屬性輸出 但是可以to_csv

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

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

總結(jié)

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

相關(guān)文章

  • Python openpyxl庫(kù)處理Excel文件高級(jí)應(yīng)用技巧實(shí)例

    Python openpyxl庫(kù)處理Excel文件高級(jí)應(yīng)用技巧實(shí)例

    openpyxl是一個(gè)用于處理Excel文件的Python庫(kù),它提供了豐富的功能,使得用戶能夠輕松地讀取、寫入和操作Excel文件,而不需要依賴于Microsoft Excel軟件,作為一個(gè)開源項(xiàng)目,openpyxl在Python生態(tài)系統(tǒng)中得到了廣泛的應(yīng)用,成為處理Excel數(shù)據(jù)的首選工具之一
    2024-01-01
  • 解決anaconda安裝pytorch報(bào)錯(cuò)找不到包的問題

    解決anaconda安裝pytorch報(bào)錯(cuò)找不到包的問題

    這篇文章主要介紹了解決anaconda安裝pytorch報(bào)錯(cuò)找不到包的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 利用Tkinter和matplotlib兩種方式畫餅狀圖的實(shí)例

    利用Tkinter和matplotlib兩種方式畫餅狀圖的實(shí)例

    下面小編就為大家?guī)?lái)一篇利用Tkinter和matplotlib兩種方式畫餅狀圖的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望對(duì)大家有所幫助
    2017-11-11
  • Python中生成隨機(jī)密碼的常用方法小結(jié)

    Python中生成隨機(jī)密碼的常用方法小結(jié)

    密碼是信息安全的基石,它用于保護(hù)我們的賬戶、數(shù)據(jù)和隱私,在本文中,將討論多種Python方法,用于生成隨機(jī)密碼的實(shí)用示例和技巧,感興趣的可以了解下
    2024-02-02
  • python直接調(diào)用和使用swig法方調(diào)用c++庫(kù)

    python直接調(diào)用和使用swig法方調(diào)用c++庫(kù)

    這篇文章主要介紹了python直接調(diào)用和使用swig法方調(diào)用c++庫(kù),c++運(yùn)算速度快于python,python簡(jiǎn)單易寫。很多時(shí)候?qū)τ谝延械腸++代碼也不想用python重寫,此時(shí)就自然而然地想到用python調(diào)用c或者c++,兩全其美,需要的朋友可以參考一下
    2022-03-03
  • python中_del_還原數(shù)據(jù)的方法

    python中_del_還原數(shù)據(jù)的方法

    在本篇內(nèi)容里小編給大家整理了一篇關(guān)于python中_del_還原數(shù)據(jù)的方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python獲取list中指定元素索引的兩種方法小結(jié)

    Python獲取list中指定元素索引的兩種方法小結(jié)

    本文主要介紹了兩種在Python中獲取列表中指定元素索引的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Python使用matplotlib模塊繪制圖像并設(shè)置標(biāo)題與坐標(biāo)軸等信息示例

    Python使用matplotlib模塊繪制圖像并設(shè)置標(biāo)題與坐標(biāo)軸等信息示例

    這篇文章主要介紹了Python使用matplotlib模塊繪制圖像并設(shè)置標(biāo)題與坐標(biāo)軸等信息,結(jié)合實(shí)例形式分析了Python中matplotlib模塊進(jìn)行坐標(biāo)系圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • python ChainMap管理用法實(shí)例講解

    python ChainMap管理用法實(shí)例講解

    在本篇文章里小編給大家整理一篇關(guān)于python ChainMap的管理用法及相關(guān)實(shí)例,有需要的朋友們可以學(xué)參考下。
    2021-08-08
  • Python中reset_index()函數(shù)的使用

    Python中reset_index()函數(shù)的使用

    本文主要介紹了Python中reset_index()函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評(píng)論

泸水县| 岑溪市| 岳西县| 循化| 澄江县| 连州市| 闸北区| 怀安县| 福泉市| 磐石市| 揭东县| 高邑县| 寿光市| 鹤岗市| 清徐县| 肥东县| 城固县| 神木县| 汉寿县| 五指山市| 平安县| 新津县| 张家口市| 辽源市| 朝阳县| 海兴县| 玉环县| 澎湖县| 潮州市| 珲春市| 南岸区| 富顺县| 驻马店市| 平泉县| 丹阳市| 寻甸| 和静县| 鹤岗市| 来凤县| 西乌| 友谊县|