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

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

如何在Python中分割字符串并將其分配給新列

如何在Python中分割字符串并將其分配給新列

蠱毒傳說 2023-10-06 18:35:00
我在一列中有這個值10-X-002,我只想提取X-002到新列中。到目前為止我嘗試過的是:mask = df["eq_id"].str.count('-').gt(0)splitted = df["eq_id"].str.split("-")df.loc[mask, "eg_number"] = splitted[mask].str[-1]但腳本結果只有002在新列中,我應該怎么做才能在新列中獲取X-002值?謝謝。
查看完整描述

4 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

將第一個 + 和“-”與最后一個元素相加


mask = df["eq_id"].str.count('-').gt(0)

splitted = df["eq_id"].str.split("-")

df.loc[mask, "eg_number"] = splitted[mask].str[1]+'-' +splitted[mask].str[-1]

https://img1.sycdn.imooc.com//651fe30b00011d1306540519.jpg

查看完整回答
反對 回復 2023-10-06
?
溫溫醬

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

最簡單的事情是只更改代碼中的一行,這完全沒問題。

改變這個splitted = df["eq_id"].str.split("-")

進入這個splitted = df["eq_id"].str.split("-", 1)

這意味著您只需要從'-'左側開始進行一次分割。

保持其余代碼不變,它應該可以完成工作


查看完整回答
反對 回復 2023-10-06
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

嘗試

df["eq_id"].replace('10-','')


查看完整回答
反對 回復 2023-10-06
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

如果您知道字符串的索引位置,那么您可以這樣做:

mask = df["eq_id"].split('-')[1]+'-'+df["eq_id"].split('-')[-1]
df.loc[mask, "eg_number"] = mask

用“-”號將它們拆分并重新組合回來,然后分配回該特定列


查看完整回答
反對 回復 2023-10-06
  • 4 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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