2017-11-17 1 views
0

집값의 데이터 세트 - House Price Data이 있습니다. 내가 NumPy와 배열에있는 데이터의 하위 집합을 사용하는 경우,이 좋은 시계열 차트를 플롯 할 수 있습니다 : 나는 팬더 시리즈에서 동일한 데이터를 사용할 때팬더 계열 시계열 차트로 그려지지 않음

Desired chart BUT using Numpy Array

그러나, 차트 모두 울퉁불퉁 간다

The lumpy chart using a Pandas Series

이 어떻게 (첫 번째 이미지 등) 부드러운 시계열 선 그래프를 만들 수 팬더 시리즈를 사용하여이 같은?

다음
data = pd.read_csv('HPI.csv', index_col='Date', parse_dates=True) #pull in csv file, make index the date column and parse the dates 
brixton = data[data['RegionName'] == 'Lambeth'] # pull out a subset for the region Lambeth 
prices = brixton['AveragePrice'].values # create a numpy array of the average price values 
plt.plot(prices) #plot 
plt.show() #show 

은 다음과 같습니다

내가 (NumPy와 배열을 사용하여) 좋은 찾고 시계열 차트를 얻기 위해 무엇을하고 무엇을 (NP, PLT 등 PD와 matplotlib.pyplot로 팬더로 NumPy와 수입 후) 나는 좋은 부드러운 적절한 시간 시리즈와 두 번째 그래프 쇼를 어떻게

data = pd.read_csv('HPI.csv', index_col='Date', parse_dates=True) 
brixton = data[data['RegionName'] == 'Lambeth'] 
prices_panda = brixton['AveragePrice'] 
plt.plot(prices_panda) 
plt.show() 

: 나는 팬더 시리즈를 사용하여 덩어리 하나를 얻기 위해 뭐하는 거지?

*이 내가하고 아무것도를 왼쪽 또는하지 않은 경우 처음 StackOverflow의 질문이 너무 소리하십시오이다 명확 *

어떤 도움을 크게 당신이 parse_dates=True했을 때

+0

;-) 당신은 [mcve]를 읽을 할 수 있으며, [좋은 재현성 팬더 예제를 만드는 방법] (https://stackoverflow.com/questions/20109391/how-to -make-good-reproducible-pandas-examples). 보통 사람들에게이 문제를 재현하기 위해 50MB 파일을 다운로드하도록 요청하지 마십시오. 대신 코드 내에 데이터를 생성하십시오. – ImportanceOfBeingErnest

답변

0

날짜 형식은 일/월/년이며, 날짜를 다시 포맷해야합니다. 팬더가이 형식을 정확하게 해석하기 위해서는 read_csv 호출 내에서 dayfirst=True 옵션을 사용할 수 있습니다.

import pandas as pd 
import matplotlib.pyplot as plt 

data = pd.read_csv('data/UK-HPI-full-file-2017-08.csv', 
        index_col='Date', parse_dates=True, dayfirst=True) 
brixton = data[data['RegionName'] == 'Lambeth'] 
prices_panda = brixton['AveragePrice'] 
plt.plot(prices_panda) 
plt.show() 
여기 외치고

enter image description here

+0

심지어 더 매끄러운, 고마워 남자 – blackhaj

+0

고마워 ..... – blackhaj

2

가, 팬더의 날짜를 읽을 감사의 기본 메소드는 월 - 일 - 연도입니다. 귀하의 데이터는 일 년 단위 인 영국 규칙에 따라 형식이 지정됩니다. 결과적으로, 매월 1 일에 대한 데이터 포인트가있는 대신, 플롯은 1 월의 첫 12 일 동안 데이터 포인트를 보여주고, 나머지 해에는 평행선을 표시합니다. 당신은 당신이 가지고있는 파일과 같은

data.index = pd.to_datetime({'year':data.index.year,'month':data.index.day,'day':data.index.month})

관련 문제