亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Pandas:如何分割多個分隔符?

Pandas:如何分割多個分隔符?

慕村9548890 2023-09-12 16:56:55
我的數據框在單列(coordinates)中包含緯度、經度和海拔高度,我想將coordinates列分成三列(緯度、經度和海拔高度)。df:ID                                                         Coordinates                                                      Region   1     latitude_degrees: 52.00755721100514\nlongitude_degrees: 12.565129548994266\naltitude_meters: 185.23616827199143\n     Europe    2     latitude_degrees: 52.00755721100514\nlongitude_degrees: 12.565129548994266\naltitude_meters: 185.23616827199143\n     Europe    3     latitude_degrees: 52.00755721100514\nlongitude_degrees: 12.565129548994266\naltitude_meters: 185.23616827199143\n     Europe    4     latitude_degrees: 52.00755721100514\nlongitude_degrees: 12.565129548994266\naltitude_meters: 185.23616827199143\n     Europe    5     latitude_degrees: 52.00755721100514\nlongitude_degrees: 12.565129548994266\naltitude_meters: 185.23616827199143\n     Europe預期輸出:ID           lat                lon                     alt             Region   1      52.00755721100514  12.565129548994266     185.23616827199143     Europe    2      52.00755721100514  12.565129548994266     185.23616827199143     Europe    3      52.00755721100514  12.565129548994266     185.23616827199143     Europe    4      52.00755721100514  12.565129548994266     185.23616827199143     Europe    5      52.00755721100514  12.565129548994266     185.23616827199143     Europe我嘗試過的:我嘗試首先根據:基礎拆分列,但它不起作用:df.loc[df['Coordinates'].isin(["latitude_degrees", "longitude_degrees"])]= ""我也嘗試替換文本,但它不起作用:df.Coordinates.replace(to_replace=['latitude_degrees','longitude_degrees'],value='')
查看完整描述

1 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

讓我們使用從列中extractall提取lat,long和,然后對其進行重塑,最后使用列和:altCoordinatesunstackjoinIDRegion


c = df['Coordinates'].str.extractall(r'([\d.]+)')[0].unstack()

d = df[['ID', 'Region']].join(c.set_axis(['lat', 'long', 'alt'], 1))

? ?ID? Region? ? ? ? ? ? ? ? lat? ? ? ? ? ? ? ? long? ? ? ? ? ? ? ? ?alt

0? ?1? Europe? 52.00755721100514? 12.565129548994266? 185.23616827199143

1? ?2? Europe? 52.00755721100514? 12.565129548994266? 185.23616827199143

2? ?3? Europe? 52.00755721100514? 12.565129548994266? 185.23616827199143

3? ?4? Europe? 52.00755721100514? 12.565129548994266? 185.23616827199143

4? ?5? Europe? 52.00755721100514? 12.565129548994266? 185.23616827199143


查看完整回答
反對 回復 2023-09-12
  • 1 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號