在熊猫系列中抓取子串
问题描述:
我有一个带X列的数据框df。 我想用df ['job.filename']列中的子字符串填充df ['date']和df ['time']。 我试图系列转换成列表,然后抢列表[X:Y =日期,也在熊猫系列中抓取子串
for i,row in df.iterrows(): df.set_value(i,'time',row['job.filename'][-10:-4]) df.set_value(i,'date',row['job.filename'][21:27])
但这并没有工作 干杯
答
我把你的样品job.filename创建一个数据框和尝试以下操作:
df = pd.DataFrame(['IMAT list 1-3609-0-20161214-092934.csv'])
df['date'] = df[0].str.extract('.*-\d+-(\d+)-\d+') #0 is the column name, in your case job.filename
df['time'] = df[0].str.extract('.*-\d+-\d+-(\d+)')
你得到:
0 date time
0 IMAT列表1-3609-0-20161214-092934.csv 20161214 092934
此正则表达式将工作只有当所有的值按照精确模式
您可以发布job.file什么的片段部分的子串是否需要提取? – Vaishali
df ['job.filename] [0] ='IMAT list 1-3609-0-20161214-092934.csv'。我想使用6位和8位数字 – Sylvain