gpt4 book ai didi

python - 正则表达式 python dataframe 元素

转载 作者:行者123 更新时间:2023-12-01 03:55:23 25 4
gpt4 key购买 nike

我在这里有一个问题(回答得很好): Python parse dataframe element

不幸的是,我的数据源还有其他需要处理的情况。

当前模式是

pattern = r'([^\(]+)(\(([^,]*),(.*)\))?'

trans_field_attr = df['Data Type'].str.extract(pattern, expand=True).iloc[:, [0, 2, 3]]

这可以完美处理(精度,比例)版本,例如 NUMBER(22,4)。不幸的是,它不会选择括号中只有单个值的任何值。

例如:

0        VARCHAR2(1)
1 VARCHAR2(1)
2 VARCHAR2(1)
3 VARCHAR2(1)
4 VARCHAR2(1)
5 DATE(7)
6 DATE(7)
7 DATE(7)
8 DATE(7)
9 VARCHAR2(1)
10 DATE(7)
11 VARCHAR2(3)
12 VARCHAR2(3)
13 NaN
14 VARCHAR2(3)
15 NUMBER(22,4)

如何改进该模式以获取单个值?

抱歉,但我真的很难从 piRSquared 的答案中进一步了解......

最佳答案

为第二个数字和逗号添加一个非捕获组,然后在其后添加一个 ? 零或一个标记,如下所示。

([^\(]+)(\(([^,]*)(?:,(.*))?\))?
(?: )? <= this part means that the comma and everything following it
is optional, alike to the ? token at the very end.

关于python - 正则表达式 python dataframe 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37552745/

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