テーブルとパラメータの先頭に数値を保持するテーブルがExcelにあります。 このように見え、AからEまでのセルだけを使う必要があります。ご覧のように、Fはヘッダー付きの行にありますが、(前述のように)反復する特定のセルを選択する必要があります。パンダの列見出しにそれぞれパラメータの配列を作成
A B C D E F
1 50 30 10 5 1 String
2 Oval, Round NaN Irregular Nan Nan String2
3 Circumscribed NaN Nan Nan Obscured, Microlobulated
4 High density NaN Equal Nan Fat-containing
私は、コラムヘッドにそれぞれ2つの配列を作成する必要があります。
:今、私はこの機能を持っているためprob_arr = [50, 1, 1]
val_arr = ['Circumscribed', 'Obscured', 'Microlobulated']
:
prob_arr = [50, 50, 10]
val_arr = ['Oval', 'Round', 'Irregular']
そして、3行目のために、それは次のようになります。それは2行目だ場合たとえば、私は2つの配列として出力を持っている必要があります
def concatvals(row, col, width, start, stop):
prob_head = list(df)[start:stop]
for i in range(width):
value_temp = df.iloc[row, col]
if isinstance(value_temp, float) is False:
value = [x.strip() for x in value_temp.split(',')]
len_val = len(value)
prob_arr = [prob_head[i] for _ in range(len_val)]
val_arr = [value[x] for x in range(len_val)]
col += 1
randparameter = random.choices(val_arr, prob_arr, k=1)
return randparameter
そしてarrsは正しく作成されません。助言がありますか?
編集、ありがとう。 –