0
データフレームの各行に色を2つの列の関数としてマップしたいとします。引数としてただ1つの列を使うほうがはるかに簡単です。しかし、2つの列でこれをどのように達成できますか?pandas:multidictによる色引数の割り当て
私がこれまで行ってきた:df['color'] = df.apply(lamda x: mapping[x.a][x.b])
に似
a = np.random.rand(3,10)
i = [[30,10], [10, 30], [60, 60]]
names = ['a', 'b']
index = pd.MultiIndex.from_tuples(i, names = names)
df = pd.DataFrame(a, index=index).reset_index()
c1 = plt.cm.Greens(np.linspace(0.2,0.8,3))
c2 = plt.cm.Blues(np.linspace(0.2,0.8,3))
#c3 = plt.cm.Reds(np.linspace(0.2,0.8,3))
color = np.vstack((c1,c2))
a = df.a.sort_values().values
b = df.b.sort_values().values
mapping = dict()
for i in range(len(a)):
mapping[a[i]] = {}
for ii in range(len(b)):
mapping[a[i]][b[ii]] = color[i+ii]
たぶん何かを?
欠けている部分.. – Moritz