2017-01-12 2 views
1

나는 세 개의 서브 도표로 플롯 할 데이터 프레임을 가지고 있습니다.비 - 나노 값을 선으로 어떻게 연결할 수 있습니까?

인덱스는 datetime이므로 x 축이 서브 그림을 가로 질러 정렬하는 것이 중요합니다.

내 프레임의 한 열에는 연초의 데이터 만 있습니다. 나머지는 국민입니다.

다음은 샘플입니다.

  Cases Coverage Measles 
2011-01-31 31.0 93.1 29.964546402502616 
2011-02-28     43.68275418275418 
2011-03-31     43.28153153153155 
2011-04-30     37.25000000000002 
2011-05-31     75.5229357798165 
2011-06-30     48.727064220183486 
2011-07-31     30.467948717948733 
2011-08-31     31.286418094278353 
2011-09-30     36.43205930461145 
2011-10-31     31.816645136232765 
2011-11-30     29.399802310147145 
2011-12-31     31.34712643678163 
2012-01-31 8.0 93.3  0.80327868852459 

내가 점선으로 비 유모에게 Cases 데이터를 연결하고 싶습니다하지만 값이 나머지 달 동안 유모을하기 때문에, 더 선이 그려지지 않습니다.

이 문제를 해결하는 방법에 대해 알고 싶습니다.

답변

1
from io import StringIO 
import pandas as pd 

txt = """date  Cases Coverage Measles 
2011-01-31 31.0 93.1 29.964546402502616 
2011-02-28 nan  nan  3.68275418275418 
2011-03-31 nan  nan  43.28153153153155 
2011-04-30 nan  nan  37.25000000000002 
2011-05-31 nan  nan  75.5229357798165 
2011-06-30 nan  nan  48.727064220183486 
2011-07-31 nan  nan  30.467948717948733 
2011-08-31 nan  nan  31.286418094278353 
2011-09-30 nan  nan  36.43205930461145 
2011-10-31 nan  nan  31.816645136232765 
2011-11-30 nan  nan  29.399802310147145 
2011-12-31 nan  nan  31.34712643678163 
2012-01-31 8.0  93.  0.80327868852459 
""" 

df = pd.read_csv(StringIO(txt), delim_whitespace=True, index_col=0, parse_dates=[0]) 

# subset df with only columns that have nulls 
dfna = df.loc[:, df.isnull().any()] 

# plot the first df 
ax = df.plot(marker='o') 

# then fill in nulls with interpolate 
# plot the result with dashed lines 
dfna.interpolate('index').plot(ls='--', ax=ax) 

enter image description here

+0

브릴리언트. 고맙습니다 –

관련 문제