Python 从pandas中的列索引位置检索日期并粘贴到PyQt中
我想检索Pandas数据帧的一个索引位置的日期,并将其粘贴到PyQt应用程序的LineEdit中 到目前为止,我得到的是:Python 从pandas中的列索引位置检索日期并粘贴到PyQt中,python,pandas,pyqt,qlineedit,Python,Pandas,Pyqt,Qlineedit,我想检索Pandas数据帧的一个索引位置的日期,并将其粘贴到PyQt应用程序的LineEdit中 到目前为止,我得到的是: purchase = sales [['Total','Date']] pandas_value = purchase.iloc[-1:]['Date'] # last position of the "Date" column pyqt_value = str(pandas_value) # This returns : 67
purchase = sales [['Total','Date']]
pandas_value = purchase.iloc[-1:]['Date'] # last position of the "Date" column
pyqt_value = str(pandas_value)
# This returns :
67 2016-10-20
Name: Data, dtype: datetime64[ns]
整个输出在LineEdit中显示为:67 2016-10-20名称:数据,数据类型:datetime64[ns]
我还尝试转换日期,但没有成功:
pandas_value.strftime('%Y-%m-%d')
'Series' object has no attribute 'strftime'
有没有办法检索和粘贴日期,如:2016-10-20
或者更好:有没有一种方法可以从pandas中的任何索引位置以字符串形式检索任何值
提前感谢您的帮助
pandas
将其作为Series
返回,类似于列表(通常它保留一行或一列数据),因此您必须使用索引来获取值。您的系列
只有一个值,因此可以使用索引[0]
(或者[67]
,因为您的文本将值67
显示为索引)
您可以这样做:
In [37]: df
Out[37]:
Date a
0 2016-01-01 0.228208
1 2016-01-02 0.695593
2 2016-01-03 0.493608
3 2016-01-04 0.728678
4 2016-01-05 0.369823
5 2016-01-06 0.336615
6 2016-01-07 0.012200
7 2016-01-08 0.481646
8 2016-01-09 0.773467
9 2016-01-10 0.550114
In [38]: df.iloc[-1, df.columns.get_loc('Date')].strftime('%Y-%m-%d')
Out[38]: '2016-01-10'
Furas,谢谢你的建议。使用[0]返回:KeyError:0。使用[67]获取我:参数1具有意外的类型“Timestamp”。我还需要[-1],因为我需要最后一行的值。我已经仔细考虑了您前几天发布的建议,只有在将值转换为货币后,它才会真正起作用。我仍然不完全理解熊猫,只是将此作为反馈发送。工作完美…非常感谢。。。我仍在学习熊猫,并慢慢掌握它的窍门。这很有趣。。
In [37]: df
Out[37]:
Date a
0 2016-01-01 0.228208
1 2016-01-02 0.695593
2 2016-01-03 0.493608
3 2016-01-04 0.728678
4 2016-01-05 0.369823
5 2016-01-06 0.336615
6 2016-01-07 0.012200
7 2016-01-08 0.481646
8 2016-01-09 0.773467
9 2016-01-10 0.550114
In [38]: df.iloc[-1, df.columns.get_loc('Date')].strftime('%Y-%m-%d')
Out[38]: '2016-01-10'