我有一个名为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]')
答案 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
会压缩维度。因此,一维对象中的单个项目可以被压缩到零维度。