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

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

如何根據開頭更新 pandas 單元格值

如何根據開頭更新 pandas 單元格值

qq_笑_17 2023-10-26 10:26:30
我有一個數據框:a = {'TXI':  ['TXI|GS|-4.08|ABCD', 'TXI|TX|0', 'TXI|SP|7.06|ABCD']}a = pd.DataFrame (a, columns = ['TXI']) 我試圖刪除基于開頭的最后 5 個字符,以獲得像 b 這樣的結果:b = {'TXI':  ['TXI|GS|-4.08', 'TXI|TX|0', 'TXI|SP|7.06']}b = pd.DataFrame (b, columns = ['TXI'])我在下面嘗試的代碼不會更新數據框。哪里錯了?for i in a.TXI:    if not i.startswith('TXI|TX'):        i = i[:-5]
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

您可以通過分配和應用來做到這一點:


a = a.assign(TXI = lambda x: x['TXI'].apply(lambda s: s[:-5] if s.startswith('TXI|TX') else s ))

結果將是:


                 TXI

0  TXI|GS|-4.08|ABCD

1                TXI

2   TXI|SP|7.06|ABCD


查看完整回答
反對 回復 2023-10-26
?
HUH函數

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

請使用where函數

https://img1.sycdn.imooc.com/6539ce7c0001c2be06520062.jpg

a.TXI.where(a.TXI.str.startswith('TXI|TX'), a.TXI.str[:-5])


0    TXI|GS|-4.08

1        TXI|TX|0

2     TXI|SP|7.06


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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