Search code examples
pythonpandaspyqtqlineedit

Retrieve date from column index position in pandas and paste in PyQt


I want to retrieve the date of one index position of a Pandas data frame and paste it into the LineEdit of a PyQt Application.

What I have so far is:

    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]

The entire output appears in the LineEdit as : 67 2016-10-20 Name: Data, dtype: datetime64[ns]

I have also tried converting the date, to no avail:

    pandas_value.strftime('%Y-%m-%d')

    'Series' object has no attribute 'strftime'

Is there a way to retrieve and paste just the date like : 2016-10-20 ?

Or better : Is there a way to retrieve any value as a string from any index position in pandas?

Thanks in advance for any help.


Solution

  • You can do it this way:

    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'