我有一个有1列的数据,其中包含了一个特定密码的购买量。
df['Amount'] = 200.20356AVAX我想将这个对象分成两列:
包含数字-> df['Quantity'] = 200.20356
df['Asset'] = AVAX的
发布于 2021-11-08 22:09:13
使用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发布于 2021-11-08 22:15:07
在dataframe应用中使用正则表达式
txt="200.20356AVAX"
pattern=r"\d+\.*\d*"
print(re.findall(pattern,txt))产出:
['200.20356']https://stackoverflow.com/questions/69890456
复制相似问题