在python中从列中获取字符串的部分

在python中从列中获取字符串的部分,python,Python,我正在使用一个类似以下内容的数据库: Review_ID Rating Year_Month Reviewer_Location 670772142 4 2019-4 Australia 670682799 4 2020-5 Philippines 670623270 4 missing United Arab Emirates 670607911 4 missing Australia 670607296 4 2014-11 United K

我正在使用一个类似以下内容的数据库:

Review_ID   Rating  Year_Month  Reviewer_Location
670772142   4   2019-4  Australia
670682799   4   2020-5  Philippines
670623270   4   missing United Arab Emirates
670607911   4   missing Australia
670607296   4   2014-11 United Kingdom
670591897   3   2016-12 Singapore
670585330   5   2019-4  India
这是我第一次用python做任何事情,我对简单的语法还不太清楚

我的目标是通过提取字符串中符号“-”后的所有字符,将月份与“年-月”列分开,并将它们存储到不同的列中(除非字符串的值为“缺少”。在这种情况下,根本不考虑它)。我尝试了多种方法,其中之一是:

yf=df['Year\u Month']
而yf!='失踪的
如果yf中的“-”为:
存储[0]=i
i+=1
存储[1]=(i)
df['Month']=商店
其他:
i+=1

存储
您可以在此处尝试使用
str.replace

df['Year']  = df['Year_Month'].str.replace('-.*$', '');
df['Month'] = df['Year_Month'].str.replace('^\d+-', '');

请注意,由于字符串值
missing
与任一正则表达式模式都不匹配,因此在这种情况下,missing
Year\u Month
值将
missing
分配给Year和Month列。

您可以尝试在此处使用
str.replace

df['Year']  = df['Year_Month'].str.replace('-.*$', '');
df['Month'] = df['Year_Month'].str.replace('^\d+-', '');
df = {'Year_Month':['2019-4','2020-5','missing','missing','2014-11','2016-12','2019-4']}

d = pd.DataFrame(df)

for ym in df['Year_Month']:
    if ym != 'missing':
        year,month = ym.split('-')
        print(year,month)
请注意,由于字符串值
missing
与任一正则表达式模式都不匹配,因此在这种情况下,missing
Year\u Month
值将
missing
分配给Year和Month列

df = {'Year_Month':['2019-4','2020-5','missing','missing','2014-11','2016-12','2019-4']}

d = pd.DataFrame(df)

for ym in df['Year_Month']:
    if ym != 'missing':
        year,month = ym.split('-')
        print(year,month)