从数字python中分离单词



我有一个数据帧,其中有一列包含特定加密的购买量

df['Amount'] = 200.20356AVAX

我想把这个对象分成两列:

  • 1,包含数字-->df['Quantity'] = 200.20356
  • 1包含单词-->df['Asset'] = AVAX

使用str.extract:

df = pd.DataFrame({'Amount': ['200.20356AVAX']})
df = df.join(df['Amount'].str.extract('([^A-Z]+)([A-Z]+)') 
.rename(columns={0: 'Quantity', 1: 'Asset'}))
# OR, proposed by @mozway (more efficient)
df = df.join(df['Amount'].str.extract('(?P<Quantity>[^A-Z]+)(?P<Asset>[A-Z]+)'))

输出:

>>> df
Amount   Quantity Asset
0  200.20356AVAX  200.20356  AVAX

在数据帧中使用正则表达式应用

txt="200.20356AVAX"
pattern=r"d+.*d*"
print(re.findall(pattern,txt))

输出:

['200.20356']

最新更新