24 컬럼 x 514 로우의 데이터가있는 .csv 파일이 있습니다. 이 열은 각각 다른 매개 변수를 나타내며 여러 매개 변수 사이의 추세를 연구하고자합니다..csv 파일에서 데이터를 추출하고 플롯을 만드는 방법은 무엇입니까?
genfromtxt를 사용하여 numpy 배열로 데이터를 가져 와서 두 개의 특정 열 (예 : 열 9에 대한 열 9)의 값을 플로팅 할 수 있습니다.
impactparameter=data[:,11]
IndexError: too many indices
문제가 여기에서 무엇을 할 수 있습니다 : 라인 12에서 I 발생할이 코드 오류로
import matplotlib.pyplot as plt
import numpy as np
data = np.genfromtxt('output_burnin.csv', delimiter=',')
impactparameter=data[:,11]
planetradius=data[:,9]
plt.plot(planetradius,impactparameter,'bo')
plt.title('Impact Parameter vs. Planet Radius')
plt.xlabel('R$_P$/R$_Jup$')
plt.ylabel('b/R$_star$')
plt.show()
: 여기에 지금까지 가지고 무엇인가?
또한 각 열에 .csv 파일의 헤더를 지정하는 방법을 알아 내려고 노력했습니다. 따라서 열 번호를 계산하는 대신, 그 플로팅을 할 때 해당 열의 이름을 호출 할 수 있습니다. 이것을 할 수있는 방법이 있습니까?
저는 파이썬에서 완전한 초보자입니다. 어떤 도움을 주셔서 감사합니다. 고마워요!
'csv' 모듈을보십시오. https://docs.python.org/2/library/csv.html'impactparameter'는 크기가 1 인 배열입니다. 따라서'[:, 11]'을 어떻게 다룰 지 모릅니다. 그래서 파일 읽기에 문제가 발생했습니다. 즉, 가정 한 것과 다른 데이터 세트를 얻었습니다. –
'print data'는 아마도 당신의 질문에 답을 줄 것입니다. – JulienD
'data'는 2 차원 배열이 아닙니다. 'data.shape'를 검사하여 그것이 실제로 어떤 모양인지 확인하십시오. CSV 파일의 형식에 따라'data.reshape'를 사용하여 원하는 모양으로 슬라이스 할 수 있습니다. – hunse