首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python中的列中获取字符串的段

从python中的列中获取字符串的段
EN

Stack Overflow用户
提问于 2020-08-07 17:17:50
回答 2查看 30关注 0票数 1

我正在使用一个数据库,它看起来像这样:

代码语言:javascript
复制
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做任何事情,我对简单的语法并不完全清楚。

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

代码语言:javascript
复制
yf=df['Year_Month']

while yf!='missing'
    if '-' in yf:
        store[0]=i
        i+=1
        store[1]=(i)
        df['Month'] = store
    else:
        i+=1
store

这根本不起作用。这只是我现在胡乱摆弄的东西,但我确实接近了一个可以工作的代码,但我就是想不出如何摆脱“丢失”的数据。

我最终试图解决的问题是“一年中哪一段时间是游客参观每个主题公园的高峰期”,因此请考虑我最终必须绘制结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-07 17:27:26

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

代码语言:javascript
复制
df['Year']  = df['Year_Month'].str.replace('-.*$', '');
df['Month'] = df['Year_Month'].str.replace('^\d+-', '');

注意,由于字符串值missing与任一正则表达式模式都不匹配,在本例中,缺少的Year_Month值会将missing分配给year和month列。

票数 0
EN

Stack Overflow用户

发布于 2020-08-07 18:08:27

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63298819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档