第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 DataFrame Pandas 中的字符串轉(zhuǎn)換為數(shù)字

將 DataFrame Pandas 中的字符串轉(zhuǎn)換為數(shù)字

ABOUTYOU 2023-08-15 18:35:28
背景: 我從 Google 地圖中獲取了點列表,提取了 csv 數(shù)據(jù)。在 Pandas 中清理它,并將其導(dǎo)出為 JSON 文件。(用于出口的使用記錄)問題: 坐標(biāo)是字符串。這是有道理的,因為最初,坐標(biāo)與 url 綁定在一起Example: https://www.google.com/maps/search/{coordinates}我使用替換功能清除文本,只保留坐標(biāo)。有沒有辦法使我的位置列中的值成為數(shù)字類型并將它們放入列表中。我導(dǎo)出的 JSON文件的示例模擬數(shù)據(jù)如下:[{      "Bin":"Yes",      "Location":"##.##,-###.##"   },我試圖清理我的數(shù)據(jù),如下例所示我嘗試建模的GeoJSON文件示例[{    location: [41.8781, -87.6298],    city: "Chicago"  },目標(biāo): 我正在嘗試制作一個自定義地圖以供在 Mapbox 中使用我的數(shù)據(jù)框的示例模型    Bin         Location0   Yes         ##.##,-###.##1   Yes         ##.##,-###.##輸入:df.typesOutput:Bin          objectLocation     objectdtype: object感謝您的幫助。
查看完整描述

1 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗 獲得超4個贊

您需要將數(shù)字存儲在單獨的列中(我假設(shè)這些是緯度/經(jīng)度坐標(biāo)),以便將它們視為數(shù)字并按您期望的方式工作。理想情況下,您應(yīng)該更改 json 清理代碼以返回如下所示的結(jié)果,然后再將其讀入數(shù)據(jù)幀:


{

    lat: 41.8781,

    long: -87.6298,

    city: "Chicago"

}

但是,一旦它位于數(shù)據(jù)框中,您也可以解決這個問題:


json_data = [

    {"location": [41.8781, -87.6298], "city": "chicago"},

    {"location": [44.8141, 20.1234], "city": "somewhere"}

]


df = pd.DataFrame.from_records(json_data)


print(df)

    location            city

0   [41.8781, -87.6298] chicago

1   [44.8141, 20.1234]  somewhere


print(df.dtypes)

location    object

city        object

dtype: object

應(yīng)用我們的轉(zhuǎn)換:


df[["lat", "long"]] = pd.DataFrame(df["location"].tolist(), columns=["lat", "long"])


print(df)

    location            city      lat       long

0   [41.8781, -87.6298] chicago   41.8781   -87.6298

1   [44.8141, 20.1234]  somewhere 44.8141   20.1234


print(df.dtypes)

location     object

city         object

lat         float64

long        float64

dtype: object

我們剛剛所做的就是告訴 pandas 我們的“位置”列實際上有 2 個值,并且它們應(yīng)該位于單獨的列中。我們擴(kuò)展它并將其添加回原始數(shù)據(jù)框。


如果出于某種原因,pandas 不會自動將您的緯度/經(jīng)度列解析為浮點數(shù),您可以使用將pd.to_numeric對象列轉(zhuǎn)換為整數(shù)/浮點數(shù)據(jù)類型。


df["lat"] = pd.to_numeric(df["lat"])

df["long"] = pd.to_numeric(df["long"])


print(df)

              location       city      lat     long

0  [41.8781, -87.6298]    chicago  41.8781 -87.6298

1   [44.8141, 20.1234]  somewhere  44.8141  20.1234


print(df.dtypes)

location     object

city         object

lat         float64

long        float64

dtype: object


查看完整回答
反對 回復(fù) 2023-08-15
  • 1 回答
  • 0 關(guān)注
  • 257 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號