下記のコードのnum_2に格納されている数字を1列ごと違うリストに入れたいです。
実践したこと
python
import collections from collections import Counter from pkgutil import iter_importers from pprint import pprint data = [ ["A", "B", "C", "D", "E", "E"], ["C", "D", "E", "A", "B", "B"], ["D", "C", "E", "A", "A", "D"], ["D", "A", "C", "B", "D", "E"], ] items_each_column = [] for c in zip(*data): items_each_column.append(len(set(c))) #print(items_each_column) frequency = [] for z in zip(*data): frequency.append(z) z_list = list(z) nx = list(map(Counter,map(list, zip(*data)))) num = len(nx) num_2 = [] for i in range(num): for j in ["A", "B", "C", "D", "E"]: ni = nx[i][j] if ni == 0: continue num_2.append(ni) print(num_2) #出力結果 #[1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2]
このような結果が得られたのですが、想定していた結果は
[[1, 1, 2], [1, 1, 1, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1], [1, 1, 2]]
です。
これはdataの1列目にAが1つ、Cが1つ、Eが2つ、2列目にAが1つ、Bが1つ、Cが1つ、Dが1つ、、、のように対応しています。
まだ回答がついていません
会員登録して回答してみよう