从数据框中打印单个日期字符串

时间:2016-12-21 22:23:02

标签: python datetime pandas

我有一个名为swap_input的数据框,我想打印当前的日期'屏幕。

swap_input.loc[ind_current, 'date']
Out[26]: 
3   2016-08-31

我如何打印' 2016-08-31'只要?上面的方法打印索引' 3',这是误导性的

我试过

swap_input.loc[ind_current, 'date'].values

但是给了我

Out[27]: array(['2016-08-31T00:00:00.000000000'], dtype='datetime64[ns]')

1 个答案:

答案 0 :(得分:2)

ind_current必须是某种可迭代的。

尝试:

swap_input.loc[ind_current[0], 'date']

或者:

pd.DataFrame.squeeze(swap_input.loc[ind_current, 'date'])

<强> 解释
设置

swap_input = pd.DataFrame(pd.Timestamp('2016-08-31'), [3], ['date'])
ind_current = [3] # this is ind_current being an iterable of some kind

swap_input.loc[ind_current, 'date']

3   2016-08-31
Name: date, dtype: datetime64[ns]
另一方面

swap_input = pd.DataFrame(pd.Timestamp('2016-08-31'), [3], ['date'])
ind_current = 3 # this is ind_current being a single index value
swap_input.loc[ind_current, 'date']

Timestamp('2016-08-31 00:00:00')

无论何时将像对象这样的数组传递给索引器(如loc),都会在该维度上返回一个类似于数组的数组。

因此,在您的示例中ind_current是数组,而'date'是标量。因此,您将获得一维物体或熊猫系列。如果可以,squeeze会压缩维度。因此,一维对象中的单个项目可以被压缩到零维度。