【发布时间】:2017-12-01 20:57:40
【问题描述】:
这是我的数据框
index duration
1 7 year
2 2day
3 4 week
4 8 month
我需要将数字与时间分开并将它们放在两个新列中。输出是这样的:
index duration number time
1 7 year 7 year
2 2day 2 day
3 4 week 4 week
4 8 month 8 month
这是我的代码:
df ['numer'] = df.duration.replace(r'\d.*' , r'\d', regex=True, inplace = True)
df [ 'time']= df.duration.replace (r'\.w.+',r'\w.+', regex=True, inplace = True )
但它不起作用。有什么建议吗?
我还需要根据时间列的值创建另一列。所以新的数据集是这样的:
index duration number time time_days
1 7 year 7 year 365
2 2day 2 day 1
3 4 week 4 week 7
4 8 month 8 month 30
df['time_day']= df.time.replace(r'(year|month|week|day)', r'(365|30|7|1)', regex=True, inplace=True)
有什么建议吗?
【问题讨论】:
-
你的最终目标是什么?你将如何使用这些解析的列?
标签: python regex pandas dataframe