gpt4 book ai didi

Python pandas 在数据框中拆分文本和数字

转载 作者:行者123 更新时间:2023-12-05 09:15:01 25 4
gpt4 key购买 nike

我有一个数据框 df1,第一列的列名称为 Acc Number,数据如下所示:

Acc Number
ASC100.1
MJT122
ASC120.4
XTY111

我需要制作一个新的数据框 df2,它有两列,第一列是文本部分,第二列是数字,所以所需的输出是:

Text    Number 
ASC 100.1
MJT 122
ASC 100.4
XTY 111

我该怎么做?

谢谢!

最佳答案

你可以这样做:

import pandas as pd

data = ['ASC100.1',
'MJT122',
'ASC120.4',
'XTY111']

df = pd.DataFrame(data=data, columns=['col'])

result = df.col.str.extract('([a-zA-Z]+)([^a-zA-Z]+)', expand=True)
result.columns = ['Text', 'Number']
print(result)

输出

  Text Number
0 ASC 100.1
1 MJT 122
2 ASC 120.4
3 XTY 111

图案 ([a-zA-Z]+)([^a-zA-Z]+)表示匹配一组字母:([a-zA-Z]+)后跟一组非字母:([^a-zA-Z]+) .更安全的替代方法是使用以下正则表达式:([a-zA-Z]+)(\d+\.?\d+)假设数字最多只能有一个点。

进一步

  1. 关于 regex 的文档在 Python 中。
  2. 关于 extract 的文档.

关于Python pandas 在数据框中拆分文本和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53290902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com