Python 熊猫系列中如何按索引提取元素

Python 熊猫系列中如何按索引提取元素,python,pandas,Python,Pandas,我试图从序列中提取索引[1]或月份,但没有得到它。它的系列来自一个数据帧 x = ltest['Date'].str.split("-") 5659 [2015, 07, 26] 5696 [2015, 07, 26] 5783 [2015, 07, 26] 5833 [2015, 07, 26] 5836 [2015, 07, 26] dtype: object x[1] #error x[x[1]] #error ltest 我正在学习熊猫。我检查了,

我试图从序列中提取
索引[1]
月份
,但没有得到它。它的系列来自一个数据帧

x = ltest['Date'].str.split("-")

5659    [2015, 07, 26]
5696    [2015, 07, 26]
5783    [2015, 07, 26]
5833    [2015, 07, 26]
5836    [2015, 07, 26]
dtype: object

x[1]   #error
x[x[1]] #error
ltest


我正在学习熊猫。我检查了,但无法计算。

从文件中读取数据帧时,将列
Date
设置为
datetime

df = pd.read_csv('yourfile.csv',parse_dates=['Date'])
通过这种方式,您可以轻松访问有关月份的信息:

df['Month'] = df['Date'].dt.month
这将返回:

   Store  DayOfWeek       Date  Sales  Customers  Open  Promo  StateHoliday  \
0     85          7 2015-07-26  11421       1606     1      0             0   
1    122          7 2015-07-26   5773        707     1      0             0   
2    209          7 2015-07-26   3742        354     1      0             0   
3    259          7 2015-07-26  15998       2857     1      0             0   
4    262          7 2015-07-26  32547       4783     1      0             0   

   SchoolHoliday  Month  
0              0      7  
1              0      7  
2              0      7  
3              0      7  
4              0      7 
然后,如果您需要
Month
列的数组,您可以通过以下方式获得它:

df['Month'].values
这将返回:

[7 7 7 7 7]

通常,最好将数据框列保留为简单类型,而不是列表、dict等。在这种特殊情况下,您可以使用apply-though从该列表中提取特定元素,例如
x.apply(lambda x:x[1])
来提取月份,但是从数据组织的角度来看,Fabio的答案更好。

我缺少参数
expand
,因此拆分返回
list
可能不适合提取日期,但对于字符串,我认为它会很有帮助

x = ltest['Date'].str.split(pat='-', expand=True)
x[1]

5659    07
5696    07
5783    07
5833    07
5836    07
Name: 1, dtype: object
更新:

ltest['Date'].map(lambda x: x[1])

谢谢,但对于其他拆分,如列
Reese,John
split(“,”)
中的一个列中的名称,更一般地说,我如何获得第一个名称?
ltest['Date'].map(lambda x: x[1])