查找包含任意数量字符串的百分数值和/或左括号时要拆分的列

2024-05-14 08:32:52 发布

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

我有一个df,其中一列显示如下:

**Share**
We are safe 25%
We are always safe 12.50% (India Aus, West)
We are ok (USA, EU)
We are not OK
What is this
Always wise 25.66%

我希望拆分此列,以便在适用的情况下将%值从该列拆分为一个新列。因此,输出将是

Share                  Percent    LOCATION
We are safe            25%  
We are always safe     12.50%     India Aus, West
We are ok                         USA, EU
We are not OK
What is this
Always wise            25.66%

Tags: shareisnotokalwayswhataresafe
1条回答
网友
1楼 · 发布于 2024-05-14 08:32:52

仅根据您的样本数据:

print (df["Share"].str.extract('([A-Za-z\s]+)\s?(\d+[.0-9]+%)?\s?\(?(.*(?=\)))?'))

                     0       1                2
0         We are safe      25%              NaN
1  We are always safe   12.50%  India Aus, West
2           We are ok      NaN          USA, EU
3        We are not OK     NaN              NaN
4         What is this     NaN              NaN
5         Always wise   25.66%              NaN

试试看

相关问题 更多 >

    热门问题