2013-07-23 2 views
40

나는 팬더 데이터 프레임을 가지고 있으며 한 열의 값과 다른 열의 값을 플롯하려고합니다. 지점이없는포인트를 사용하여 판다 데이터 프레임의 두 열을 플로팅하는 방법은 무엇입니까?

df.plot(x='col_name_1', y='col_name_2') 

불행하게도, 그것은합니다 (kind 매개 변수 다음에 here 나열) 플롯 스타일 중에서 다음과 같습니다 다행히도, 내가 무엇을해야 할 것 같다 데이터 프레임과 관련된 plot 방법이있다. 선이나 막대 또는 밀도를 사용하지만 점은 사용할 수 없습니다. 이 문제를 해결하는 데 도움이되는 해결 방법이 있습니까? df.plot를 호출 할 때

답변

48

당신은 플롯 라인의 style을 지정할 수 있습니다

import numpy as np 
import pandas as pd 

d = {'one' : np.random.rand(10), 
    'two' : np.random.rand(10)} 

df = pd.DataFrame(d) 

df.plot(style=['o','rx']) 

모든 허용 스타일의 형식은 다음과 같습니다

df.plot(x='col_name_1', y='col_name_2', style='o') 

style 인수도 할 수있다 예를 들면 dict 또는 list, matplotlib.pyplot.plot의 설명서에 나와 있습니다.

이 (대부분의 플로팅)의 경우

Output

39

나는하기 matplotlib하기 위해 팬더 래퍼에 의존하지 않을 것입니다.

import matplotlib.pyplot as plt 
plt.scatter(df['col_name_1'], df['col_name_2']) 
plt.show() # Depending on whether you use IPython or interactive mode, etc. 

을하고 예를 들어 df.col_name_1.values로 열 값의 NumPy와 배열에 액세스 할 수 있음을 기억 대신, 단지하기 matplotlib 직접 사용합니다.

밀리 초 정밀도의 타임 스탬프 값 열의 경우 팬더 기본 플롯팅을 사용하여 문제가 발생했습니다. 객체를 datetime64 유형으로 변환하려고 시도 할 때 더러운 문제도 발견했습니다 : < Pandas gives incorrect result when asking if Timestamp column values have attr astype>.

+1

매우 도움이되었습니다. 감사!! – ChandanJha

관련 문제