Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python如何获取日期标记的第一个元素_Python_String_Date_Vector_Pandas - Fatal编程技术网

Python如何获取日期标记的第一个元素

Python如何获取日期标记的第一个元素,python,string,date,vector,pandas,Python,String,Date,Vector,Pandas,我使用的是Python 2.7,我的数据如下所示: import pandas as pd df = pd.DataFrame({ 'DateVar' : ['9/1/2013', '10/1/2013', '2/1/2014'], 'Field' : 'foo' }) 我想解析DateVar以创建两个新字段:“月”字段和“年”字段 我能够通过矢量化字符串方法标记“DateVar”: df.DateVar.str.split('/'

我使用的是Python 2.7,我的数据如下所示:

import pandas as pd            
df = pd.DataFrame({ 'DateVar' : ['9/1/2013', '10/1/2013', '2/1/2014'],
                'Field' : 'foo' })   
我想解析DateVar以创建两个新字段:“月”字段和“年”字段

我能够通过矢量化字符串方法标记“DateVar”:

df.DateVar.str.split('/')
这有点接近我想要的,所以接下来我尝试使用以下代码对月份[9,10,2]进行切片:

df.DateVar.str.split('/')[0]
但出乎意料的是,我得到了:

['9','1','2013']

那么我如何得到所有月份的向量呢

这是因为

>>> df.DateVar.str.split('/')
0     [9, 1, 2013]
1    [10, 1, 2013]
2     [2, 1, 2014]
所以


如果只需要一列,则可以使用:

df.DateVar.str.split("/").str[0]
如果需要月和日列,请使用
str.extract

import pandas as pd            
df = pd.DataFrame({ 'DateVar' : ['9/1/2013', '10/1/2013', '2/1/2014'],
                'Field' : 'foo' })   

print df.DateVar.str.extract(r"(?P<month>\d+)/(?P<day>\d+)/\d+").astype(int)

使用
map(int,df.DateVar.str.split('/')[0])
将每个元素转换为整数?您想要什么确切的输出?
import pandas as pd            
df = pd.DataFrame({ 'DateVar' : ['9/1/2013', '10/1/2013', '2/1/2014'],
                'Field' : 'foo' })   

print df.DateVar.str.extract(r"(?P<month>\d+)/(?P<day>\d+)/\d+").astype(int)
  month  day
0      9    1
1     10    1
2      2    1
v = [x[0] for x in df.DateVar.str.split('/')]