Pandas提取

2024-04-20 06:39:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从本专栏中摘录年份:

enter image description here

我所知道的是,我使用,将它拆分为一个列表

df['yearcorrect'] = df['released'].astype(str).str.split(',')

我不能从那里继续下去


2条回答

请试试这个:

dates = df["released"].to_list()
date_list = list()

for each_date in dates:
    temp_date = each_date.split(",")[1]
    year = temp_date.split("(")[0]
    year = year.strip()
    # this is where you can extract the year
    # print(year)
    date_list.append(year)

df["year"] = date_list

通过聚合函数,您肯定可以减少代码行数,但为了简单起见,我已将它们分步骤分解。希望这有帮助。如果问题仍然存在,请随时联系

谢谢

您可以尝试以下方法:

import pandas as pd

df=pd.DataFrame({"t":["te,1723(hd k)","683, 7939(jod ls)"]})

df["year"]=df.t.str.split(r"[,(]",expand=True)[1]

print(df)
"""
                   t   year
0      te,1723(hd k)   1723
1  683, 7939(jod ls)   7939
"""

pandas.Series.str.split支持正则表达式,因此,我们使用它来拆分文本。我们将文本分为三部分comma前和(年和(后,并仅使用[1]获取该年列

相关问题 更多 >