如何从字符串开头删除特定字符

2024-05-26 22:56:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个DataFrame,它的列名为AlternateName。它包含不同成分的名称,但大多数成分在实际名称前有数量和单位。你知道吗

                                     Alternate_Name
2                                   ★ Sukkerfri chokolade
3                     100 g. sukkerfri 70% mørk chokolade
4                                     sukkerfri chokolade
5                      50 g. sukkerfri 70% mørk chokolade
6                        Chokoladesovs uden tilsat sukker
7                          1 spsk Chokolade proteinpulver
8                        1 spsk proteinpulver (chokolade)
9                        1,5 spsk chokolade proteinpulver
10                           spsk chokolade proteinpulver
11                      stor spsk chokolade proteinpulver
12                            30 g chokoladeproteinpulver
13                 30 g Linus Pro proteinpulver med Kakao
14            30 g proteinpulver med Kakao fra Linus Pro*
15      45 g proteinpulver (jeg brugte chokolade/hasse...
16            50 g chokolade og banan proteinpulver (HER)
17                           ,5 spsk vanilleproteinpulver
18                    1 spsk proteinpulver – Vanille smag
19                           1 spsk vanille proteinpulver
20                          1 spsk vanille proteinpulver
21                      1 stor spsk vanille proteinpulver
22                             10 g vanille proteinpulver
23                            spsk vanilje protein pulver
24                            spsk Vanille Protein pulver
25                             spsk Vanille proteinpulver
26      spsk vanilleproteinpulver (eller lidt vanilles...
27               30 g Linus Pro Proteinpulver med vanille
28      30 g vanille proteinpulver fra Linus Pro   (Re...
29                            30 g vanille proteinpulver
30                              40 g vanilleproteinpulver
31                             60 g vanille proteinpulver

我已经试过了:df = df["AlternateName"].map(lambda x: x.lstrip('200 g.'))-但是,我需要添加一些特定的条件来修剪这些字符串,因为我不能针对每种情况手动进行修剪。你知道吗

因此,我如何教我的程序删除字符串内容使用条件匹配数字,单位和特殊字符位于每个成分的名称?你知道吗

例如:200 g.sukkerfri chokolade->;sukkerfri chokolade

★Sukkerfri chokolade->;Sukkerfri chokolade

我对python不是很熟悉,所以欢迎任何帮助,比如方法、提示、提示!你知道吗


Tags: 名称单位medpro成分linusalternatenamevanille
1条回答
网友
1楼 · 发布于 2024-05-26 22:56:54

您是否已经尝试应用正则表达式来删除数量? 像这样:

df['Alternate_Name'].str.replace(r'^\s*(★|[0-9]*,?[0-9]{1,}\s*(g|kg|spsk|stor spsk)|spsk)\s*,*', '')

它输出:

Out[71]: 
0                            ★ Sukkerfri chokolade
1                   . sukkerfri 70% mørk chokolade
2                              sukkerfri chokolade
3                   . sukkerfri 70% mørk chokolade
4                 Chokoladesovs uden tilsat sukker
5                          Chokolade proteinpulver
6                        proteinpulver (chokolade)
7                          chokolade proteinpulver
8                          chokolade proteinpulver
9                stor spsk chokolade proteinpulver
10                          chokoladeproteinpulver
11               Linus Pro proteinpulver med Kakao
12          proteinpulver med Kakao fra Linus Pro*
13    proteinpulver (jeg brugte chokolade/hasse...
14          chokolade og banan proteinpulver (HER)
15                            vanilleproteinpulver
16                    proteinpulver – Vanille smag
17                           vanille proteinpulver
18                           vanille proteinpulver
19                           vanille proteinpulver
20                           vanille proteinpulver
21                          vanilje protein pulver
22                          Vanille Protein pulver
23                           Vanille proteinpulver
24    vanilleproteinpulver (eller lidt vanilles...
25             Linus Pro Proteinpulver med vanille
26    vanille proteinpulver fra Linus Pro   (Re...
27                           vanille proteinpulver
28                            vanilleproteinpulver
29                           vanille proteinpulver
Name: Alternate_Name, dtype: object

相关问题 更多 >

    热门问题