dict에서 만든 일부 계산의 그래픽 시각화를 생성하는 루프를 가장 잘 자동화하는 방법에 대한 지침을 찾고 있습니다.그래프 생성을위한 루핑
하나의 그래프를 만들기 위해 다음 코드를 조합했지만 다른 변수를 사용하여 많은 유사한 그래프를 생성해야하며 각 변수를 여러 번 입력하지 않아야합니다 (100 초의 변수가 있음). 이것은 무엇이다 -
가 지금까지 너무 좋아import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
Sets = {}
labels = ['0 - 5','5 - 25','25 - 50','50 - 75','75 - 100']
blocks = [-1,5,25,50,75,100]
for i in Calclist:
out = pd.cut(Calclist[i]['variable1'], bins = blocks)
Sets[i] = (pd.value_counts(out)/Calclist[i]['variable1'].count())*100
df = pd.DataFrame(Sets)
df.reset_index(level=0, inplace=True)
df.rename(index = str, columns = {'index':'blocks'}, inplace=True)
ax = df.plot.bar(title='One iteration - works well')
ax.set_xlabel("x-axis label")
ax.set_ylabel("y-axis label")
ax.set_xticklabels(labels, rotation=45)
: 하나의 그래프에 대한
, 나는 Calclist가 딕셔너리입니다 (아래 참조) 변수 1가 딕셔너리 내의 특정 열입니다 코드를 다음 한 코드가 생성됩니다는 내가 정말하고 싶은 것은 (변수 2, variable3, .....에) 변수 1을 반복합니다.
나는 몇 가지 시도를 해봤지만, 내가 가깝다고 생각하지만 근본적인 무언가를 놓치고 있다고 생각합니다.
특히, 나는 또 다른 루프를 중첩 시도하는 내가 시각화에 관심 변수 이름을 가지고 "매개 변수"를 사용하여 일련의 이상 반복 :
Sets = {}
labels = ['0 - 5','5 - 25','25 - 50','50 - 75','75 - 100']
blocks = [-1,5,25,50,75,100]
Parameter = pd.Series("variable1","variable2")
for j in Parameter:
for i in Calclist:
out = pd.cut(Calclist[i][Parameter[j]], bins = blocks)
Sets[i] = (pd.value_counts(out)/Calclist[i]
[Parameter[j]].count())*100
그러나 나는 다음과 같은 오류가 발생합니다 :
TypeError: Index(...) must be called with a collection of some kind,
'powertotal_total' was passed
모든 제안 사항에 크게 감사드립니다.
코드가 ... 정말 재현 할되지 않는다는 것 도움이 될 것입니다. –