前提・実現したいこと
実現したいこと:
・コード内のmod="{} ~ {} + {} + {}"
に差し込み処理で変数を埋め込みそれらの組み合わせを出力させようとしています。
・現状のやり方では{}の数だけ変数を入力する必要がありますが、
空欄も含んだ入力をして、右辺(~より右側)を3変数だけでなく2変数や1変数の組み合わせも出力もさせたいと思っています(例:出力させたい結果)。
条件:
・代入する変数名は、読み込んだcsvファイル内に記載されている必要があります。
・この段階では必要ありませんが、csvファイル内の各変数には1次元の数値配列が与えられています。
アルゴリズムや、参考コードなどわかる方がいらっしゃればアドバイス・ご教示をぜひお願いします。
出力させたい結果
現状の出力 word1 ~ word2 + word3 + word4 word1 ~ word2 + word3 + word5 word1 ~ word2 + word4 + word5 word1 ~ word3 + word4 + word5 word2 ~ word1 + word3 + word4 word2 ~ word1 + word3 + word5 word2 ~ word1 + word4 + word5 word2 ~ word3 + word4 + word5 word3 ~ word1 + word2 + word4 word3 ~ word1 + word2 + word5 word3 ~ word1 + word4 + word5 word3 ~ word2 + word4 + word5 word4 ~ word1 + word2 + word3 word4 ~ word1 + word2 + word5 word4 ~ word1 + word3 + word5 word4 ~ word2 + word3 + word5 word5 ~ word1 + word2 + word3 word5 ~ word1 + word2 + word4 word5 ~ word1 + word3 + word4 word5 ~ word2 + word3 + word4 出力させたい結果(例:word1に関してのみ) word1 ~ word2 + word3 + word4 word1 ~ word2 + word3 + word5 word1 ~ word2 + word4 + word5 word1 ~ word3 + word4 + word5 word1 ~ word2 + word3 word1 ~ word2 + word4 word1 ~ word2 + word5 word1 ~ word3 + word5 word1 ~ word4 + word5 word1 ~ word2 word1 ~ word3 word1 ~ word4 word1 ~ word5
現状のコード
Python3
1import itertools 2from scipy.special import perm, comb 3import pandas as pd 4 5#データ読み込み 6test = pd.read_csv('C:/Users/~~~') 7 8#リスト作成(word1~word5は読み込んだcsvファイル内に記載されている) 9word1 = 'word1' 10word2 = 'word2' 11word3 = 'word3' 12word4 = 'word4' 13word5 = 'word5' 14word_list0 = [word1, word2, word3, word4, word5] 15 16word_list_p0 = list(itertools.permutations(word_list0, 1)) 17word_list_p1 = list(itertools.combinations(word_list0, 3)) 18 19#組み合わせ作成 20for i in range(perm(len(word_list0), 1, exact=True)): 21 for j in range(comb(len(word_list0), 3, exact=True)): 22 y0 = word_list_p0[i] 23 y1 = word_list_p1[j] 24 25 mod="{} ~ {} + {} + {}" 26 27 mod=(mod.format(y0[0],y1[0],y1[1],y1[2])) 28 29 if y0[0] != y1[0] and y0[0] != y1[1] and y0[0] != y1[2]: 30 print(mod) 31
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/19 11:37