2017-12-17 20 views
0

파일 경로가 .wav 인 팬더 데이터 프레임이 있습니다. 팬더 DataFrame.plot() 함수를 사용하여 참조 된 데이터를 플롯 할 수 있습니까?경로 입력 용 판다 플롯 함수 호출

예 :

일반적인 사용 : 내가 할 노력하고있어 df.plot()

: df.plot(df.path_to_data)을 ???

나는 applylambda의 조합이 트릭을 할 것으로 생각하지만,이 도구에 익숙하지 않습니다.

+0

, 그것은 메모리에 있어야합니다. 양자 택일로,'pylab'을 대체 할 수있는이 링크를보십시오 : https://stackoverflow.com/a/11249430/4909087 –

+0

질문에 대한 답변이 있으면 [가장 도움이되는 대답을 받아주십시오.] (https://stackoverflow.com)/help/someone-answers) 옆에있는 회색 체크를 클릭하고 녹색으로 전환합니다. 감사! –

답변

1

아니요, 불가능합니다. plotpd.DataFrame 개체에서 작동하는 1 차 함수입니다. 여기에서 df은 같은 것입니다. 당신이해야 할 것입니다 것은

  1. pd.read_*를 사용하여 dataframe로드 (보통, pd.read_csv(file)) 및 df.plot

그래서, 요약, 당신이 필요로하는 df

  • 이제 전화에 할당입니다 -

    df = pd.read_csv(filename) 
    ... # some processing here (if needed) 
    df.plot() 
    

    "메모리에 데이터를로드하지 않고"이 작업을 수행 할 수 있는지 여부에 대한 질문은 메모리에없는 데이터를 플롯 할 수 없습니다. 원하는 경우 limit tha number of rows you read을 입력하거나 효율적으로로드 할 수 있습니다 (loading it in chunks). aggregate/summarise data 또는 sample it에 코드를 쓸 수도 있습니다.

  • +0

    그러면 데이터가 직접 df에로드됩니다. 맞습니까? 그게 너무 컸을지도 몰라. – ConfusinglyCuriousTheThird

    +0

    @ConfusinglyCuriousTheThird 내 대답에 대한 유용한 링크를 추가했습니다. –

    +0

    지금 솔루션을 확인해보십시오. 감사합니다. – ConfusinglyCuriousTheThird

    1

    난 당신이 read_csv에 의해 분명히 DataFrame를 만든 다음 DataFrame.plot 먼저 필요가 있다고 생각 :

    pd.read_csv('path_to_data').plot() 
    

    그러나 경우 DataFrame에 열에서 path의에서 생성 필요 플롯 DataFrame의 :

    df.path_to_data.apply(lambda x: pd.read_csv(x).plot()) 
    

    또는 사용자 정의 함수를 사용하십시오 :

    def f(x): 
        pd.read_csv(x).plot() 
    
    df.path_to_data.apply(f) 
    

    또는 사용 루프 : 당신이 df.plot``를 통해 데이터를 플롯하려면

    for x in df.path_to_data: 
        pd.read_csv(x).plot()