【问题标题】:separating text and numbers in pandas Python在 Pandas Python 中分离文本和数字
【发布时间】:2021-11-26 16:43:29
【问题描述】:
如何在 Panda Python 中将文本与数字分开,如果它还没有用空格 (" ") 分隔?
在我的数据框 df 中,我有一列 0.3314QSF。
我想将其拆分为两列,分别包含 0.3314 和 QSF 在我的数据框中的两个不同列中。
数据框由数千行组成,此规则应适用于所有行。
谢谢
【问题讨论】:
标签:
python
pandas
dataframe
multiple-columns
【解决方案1】:
你可以使用str.extract:
>>> df['a'].str.extract(r'([\d.]+)(\w+)')
0 1
0 0.3314 QSF
或者使用str.split(你会有一个额外的空条目,但你可以删除):
>>> df['a'].str.split(r'([\d.]+)', expand=True)
0 1 2
0 0.3314 QSF
>>> df['a'].str.split(r'([\d.]+)', expand=True).drop(0, axis=1)
1 2
0 0.3314 QSF