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])