我有示例字符串,我必须从 Pandas Dataframe 中提取年份。我不确定该怎么做?我尝试使用正则表达式的pandas提取方法,但没有成功。
输入:
Césio 137 - O Pesadelo de Goiânia (1990)
Nattbuss 807 (1997)
Νόμος 4000 (1962)
输出:
1990
1997
1962
我尝试使用以下正则表达式:\d\d\d\d
但是在表达式 Νόμος 4000 (1962)
中,我没有得到预期的结果。我只想提取 1962
,而不是 4000
。
我的目标是从给定的表达式中提取 year
。
提前致谢。
答案 0 :(得分:0)
这是一个非常简单的正则表达式。
df = pd.read_csv(io.StringIO("""Césio 137 - O Pesadelo de Goiânia (1990)
Nattbuss 807 (1997)
Νόμος 4000 (1962)"""), names=["input"])
myre = re.compile(".*\(([0-9]+)\).*")
df.assign(output=df.input.str.extract(myre))
输入 | 输出 | |
---|---|---|
0 | Césio 137 - O Pesadelo de Goiânia (1990) | 1990 |
1 | Nattbuss 807 (1997) | 1997 |
2 | Νόμος 4000 (1962) | 1962 |
答案 1 :(得分:0)
这应该会有所帮助:
strings = ["Césio 137 - O Pesadelo de Goiânia (1990)", "Nattbuss 807 (1997)", "Νόμος 4000 (1962)"]
for string in strings:
str = string.split(" ")
last = len(str) - 1
print(str[last].replace("(","").replace(")",""))
结果:
1990
1997
1962