2017-10-12 61 views
1

在Pandas数据框中,我有一列有如下值:[2017-06-13 00:00:00, 2017-06-14 00:00:00)。有没有快速的方法来拉出第一次约会2017-06-13 00:00:00Pandas Column Object Bucketed Value Extract

谢谢!

编辑:字符串末尾的括号不是拼写错误。

+0

试试我的编辑答案。 – Wen

回答

2
df.loc[0,'Column1'][0] 
Out[85]: 'x' 

样本数据

df = pd.DataFrame({'Column1':[['x','y'], ['a','b']], 
        'Out1':[1, 2]}) 

如果您需要拔出整列

df.Column1.apply(pd.Series)[0] 
Out[88]: 
0 x 
1 a 
Name: 0, dtype: object 

编辑,不是一个错字...

df.Column1.str.split(',',expand=True)[0].str[1:] 

Out[97]: 
0 2017-06-13 00:00:00 
Name: 0, dtype: object 

数据输入

df = pd.DataFrame({'Column1':['[2017-06-13 00:00:00, 2017-06-14 00:00:00)']}) 
+0

你打败了我。 :) –

+0

@alpacafondue Yw〜 – Wen

1

您可以尝试

df['date'] = df['date'].apply(lambda x: x[0]) 

DF

date 
0 [2017-06-13 00:00:00, 2017-06-14 00:00:00] 

之后申请

date 
0 2017-06-13 00:00:00 

时序:

df['date'].apply(lambda x: x[0])  
280 µs ± 17.2 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each) 

df.date.apply(pd.Series)[0] 
1.38 ms ± 89.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each) 
+0

这个返回'['。 '[2017-06-13 00:00:00,2017-06-14 00:00:00]'很奇怪,因为它最后有一个括号。 – alpacafondue

+0

我认为括号是拼写错误。你的列值不是[2017-06-13 00:00:00,2017-06-14 00:00:00]? – Vaishali

+0

这是奇怪的事情。数据框是从一个SQL查询中创建的,在这个特定的查询语言中,这个SQL查询在结尾处用括号括起来。 – alpacafondue

1

使用.str访问与分裂:

df['DatesList'].str.split(',',expand=True)[0].str[1:].values[0] 

输出:

'2017-06-13 00:00:00' 
+0

这返回'['。 '[2017-06-13 00:00:00,2017-06-14 00:00:00]'很奇怪,因为它最后有一个括号(不是拼写错误)。 – alpacafondue

+0

哦......这是一个长串不是真正的列表。好的。 –

相关问题