2016-10-23 4 views
2

나는 Pandas 데이터 프레임의 하나의 인덱스 위치 날짜를 검색하여 PyQt 응용 프로그램의 LineEdit에 붙여 넣기를 원합니다.pandas의 열 인덱스 위치에서 날짜를 검색하고 PyQt에 붙여 넣기

제가 지금까지있는 것은 : 또한이 datetime64 [NS]

67 2016년 10월 20일 이름 : 데이터 DTYPE을

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 나타나는 날짜를 변환하려고 시도했습니다.

다음과 같이 날짜를 검색하여 붙여 넣는 방법이 있습니까? 2016-10-20?

이상 : 팬더의 색인 위치에서 문자열로 값을 검색하는 방법이 있습니까?

미리 도움을 청하십시오.

답변

2

당신이 이런 식으로 할 수 있도록 Series은 하나의 값을 갖습니다 : 대한

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' 
+0

완벽하게 작동합니다 ... 많은 감사합니다 ... 나는 여전히 팬더를 배우고 천천히 그걸 알아 듣고 있습니다. 그것은 큰 재미 .. – rainer

+0

최대 받아 들여지고 upvoted ... 좋은 하루 보내십시오 – rainer

+0

@Rainer, 감사합니다! 당신도 좋은 하루 보내세요! :) – MaxU

1

pandaslist과 같습니다 (일반적으로 1 행 또는 1 열의 데이터를 유지하므로) 값을 얻기 위해 색인을 사용해야합니다. (텍스트 인덱스로 값 67을 보여주기 때문에 아니면 [67]) 색인 [0]을 사용할 수 있습니다

pyqt_values = str(panda_values[0]) 
+0

Furas, 덕분에 당신의 암시. [0]을 사용하면 다음을 반환합니다. KeyError : 0. [67] 사용 : 인수 1에 예기치 않은 유형의 '타임 스탬프'가 있습니다. 마지막 행의 값이 필요하기 때문에 [-1]이 필요합니다. – rainer

+0

나는 당신이 요전에 게시 한 제안으로 놀았으며 실제로 가치를 화폐로 변환 한 후에 만 ​​작동합니다. 나는 여전히 팬더를 완전히 이해하지 못하고 단지 이것을 피드백으로 보냅니다. – rainer

관련 문제