○列目にある記号の種類数とその位置の記号頻度を求めたいです。

まず、以下のような二次元リストがあります。

python

data = [["A", "B", "C", "D", "E", "F"],["C", "D", "E", "A", "B", "B"],["D", "C", "E", "A", "A", "D"],["D", "A", "C", "B", "D", "E"],]

この時の1~6列目にある記号の種類数と○列目○番目の配列の記号の頻度を算出したいです。
得たい出力結果の一部はこのようになります。

python

#3列目の記号の頻度2 #CとEの2つが存在しているから #3列目の3番目の配列の記号の頻度2 #3列目の3番目の配列の記号はEが該当する。3列目のC, E, E, CのなかにEは2つある

このような結果をfor文を使って1~6列目にある記号の種類数と○列目○番目の配列の記号の頻度を算出しようと思ったのですがどのようにコードを書けばいいのか分かりません。
下記に試したことを記載します。

python

#試したことfor in range(len(data)): for i in range(len(data)): result += data[i][e] n = list(map(Counter,map(list, zip(*data)))) #このようにコードを書くと、例えば1列目ではCounter({'D': 2, 'A': 1, 'C': 1})のようになってしまいます。記号は3個あるので3(もしくは、Counter({'D': 1, 'A': 1, 'C': 1}))と出力したいです。

コメントを投稿

0 コメント