在Pandas数据框中,我有一列有如下值:[2017-06-13 00:00:00, 2017-06-14 00:00:00)
。有没有快速的方法来拉出第一次约会2017-06-13 00:00:00
?Pandas Column Object Bucketed Value Extract
谢谢!
编辑:字符串末尾的括号不是拼写错误。
在Pandas数据框中,我有一列有如下值:[2017-06-13 00:00:00, 2017-06-14 00:00:00)
。有没有快速的方法来拉出第一次约会2017-06-13 00:00:00
?Pandas Column Object Bucketed Value Extract
谢谢!
编辑:字符串末尾的括号不是拼写错误。
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)']})
你打败了我。 :) –
@alpacafondue Yw〜 – Wen
您可以尝试
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)
这个返回'['。 '[2017-06-13 00:00:00,2017-06-14 00:00:00]'很奇怪,因为它最后有一个括号。 – alpacafondue
我认为括号是拼写错误。你的列值不是[2017-06-13 00:00:00,2017-06-14 00:00:00]? – Vaishali
这是奇怪的事情。数据框是从一个SQL查询中创建的,在这个特定的查询语言中,这个SQL查询在结尾处用括号括起来。 – alpacafondue
使用.str
访问与分裂:
df['DatesList'].str.split(',',expand=True)[0].str[1:].values[0]
输出:
'2017-06-13 00:00:00'
这返回'['。 '[2017-06-13 00:00:00,2017-06-14 00:00:00]'很奇怪,因为它最后有一个括号(不是拼写错误)。 – alpacafondue
哦......这是一个长串不是真正的列表。好的。 –
试试我的编辑答案。 – Wen