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

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

如果列字符串值是另一列的子字符串,如何替換它

如果列字符串值是另一列的子字符串,如何替換它

嚕嚕噠 2021-06-30 13:23:27
如何使用另一列替換列的部分字符串值。我這里的數據集是:ID          Product Name                            Size ID    Size Name1   24 Mantra Ancient Grains Foxtail Millet 500 gm      1       500 gm2   24 Mantra Ancient Grains Little Millet 500 gm       2       500 gm3   24 Mantra Naturals Almonds 100 gm                   3       100 gm4   24 Mantra Naturals Kismis 100 gm                    4       100 gm5   24 Mantra Organic Ajwain 100 gm                     5       100 gm6   24 Mantra Organic Apple Blast Drink 250 ml          6       250 ml7   24 Mantra Organic Apple Juice 1 Ltr Tetra Pack      7       1000 ml8   24 Mantra Organic Apple Juice 200 ml                8       200 ml9   24 Mantra Organic Assam Tea 100 gm                  9       100 gm這里的要求是Product Name列值是24 Mantra Ancient Grains Foxtail Millet 500 gm,Size Name列有500 Gm。在這種情況下,我的輸出將是24 Mantra Ancient Grains Foxtail Millet. 如果Size Name包含在Product Name字符串中刪除大小名稱字忽略大小寫否則無需采取任何行動。
查看完整描述

3 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

IIUC,您可以使用apply()和replace():


df['Product Name'] = df.apply(lambda x: x['Product Name'].replace(x['Size Name'], '').strip(), axis=1)

產量:


   ID                                    Product Name  Size ID Size Name

0   1         24 Mantra Ancient Grains Foxtail Millet        1    500 gm

1   2          24 Mantra Ancient Grains Little Millet        2    500 gm

2   3                      24 Mantra Naturals Almonds        3    100 gm

3   4                       24 Mantra Naturals Kismis        4    100 gm

4   5                        24 Mantra Organic Ajwain        5    100 gm

5   6             24 Mantra Organic Apple Blast Drink        6    250 ml

6   7  24 Mantra Organic Apple Juice 1 Ltr Tetra Pack        7   1000 ml

7   8                   24 Mantra Organic Apple Juice        8    200 ml

8   9                     24 Mantra Organic Assam Tea        9    100 gm


查看完整回答
反對 回復 2021-07-13
?
慕哥6287543

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

假設您想用 None 替換 Size Name 值,如果它們是 Product Name 的子字符串


df = pd.DataFrame({

            'Product Name' : ['24 Mantra Ancient Grains Foxtail Millet 500 gm', '24 Mantra Ancient Grains Little Millet 500 gm ', '24 Mantra Naturals Kismis 100 gm'], 

            'Size ID' : [1, 2, 3],

            'Size Name': ['500 gm', '500 gm', '200 gm']

        })


df['same']= df.apply(lambda x: x['Size Name'] in x['Product Name'], axis = 1)

df['Size Name'] = np.where(df['same'], None, df['Size Name'])

df.drop(columns=['same'], inplace = True)

df


  Product Name                                Size ID      Size Name

0   24 Mantra Ancient Grains Foxtail Millet 500 gm  1              None

1   24 Mantra Ancient Grains Little Millet 500 gm   2              None

2   24 Mantra Naturals Kismis 100 gm                3              200 gm


查看完整回答
反對 回復 2021-07-13
  • 3 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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