25 열 90 행의 CSV 파일이 있습니다. 첫 번째 열은 예를 들어 01-10-2014로 나타나는 날짜 형식입니다. 나머지 열은 해당 날짜에 해당하는 숫자를 포함합니다. 첫 번째 행은 각 열의 이름입니다. 제 계획은 모든 정보를 취한 코드를 작성하고 임의의 두 열을 서로에 대해 플롯 xy 플롯으로 플롯 할 수있는 유연성을주었습니다. 지금까지 코드를 복사했습니다.CSV 파일에서 파이썬으로 여러 열을 그려야합니다
dtype에서 'weekly'및 'f8'을 제거하면 코드가 제대로 작동합니다. X 축에 날짜를 그리고 Y 축에 첫 번째 열 'daily'를 표시합니다. 아래 그림과 같이 'weekly'와 같이 추가 열을 추가 할 수 있다고 가정했습니다. 그러나, 나는 오류를 얻을 :
Traceback (most recent call last):
File "plot_dataset_second.py", line 10, in <module>
Date = [DT.datetime.strptime(key,"%d-%m-%Y") for (key, value) in data]
ValueError: too many values to unpack
샘플 데이터 :
Date Daily Installs Weekly Installs Mean Install Duration
01-10-14 153 153 47.71
02-10-14 630 783 51.9
03-10-14 50 833 49.94
04-10-14 973 1805 51.43
import numpy as np
import matplotlib.pyplot as plt
import datetime as DT
data= np.genfromtxt('dataset1_changed.csv', delimiter=',',
dtype={'names': ('Date', 'daily', 'weekly'),'formats': ('S10', 'f8', 'f8')})
Date = [DT.datetime.strptime(key,"%d-%m-%Y") for (key, value) in data]
daily = [value for (key, value) in data]
weekly = [value for (key, value) in data]
#y = [value for (key, value) in data]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.grid()
fig.autofmt_xdate()
plt.plot(Date,daily,'b--o--')
plt.xlabel('Date')
plt.ylabel('Daily Count')
plt.title('Daily Count since February')
plt.show()
'팬더'사용을 고려 했습니까? 이런 종류의 일에 이상적 일 것입니다. – Ffisegydd
헤더 행을 포함하여 데이터의 몇 행과 열을 게시하십시오. – wwii
@wwii 테이블의 작은 샘플을 추가 했으므로 괜찮습니다. – Marmo