#実装したこと
下記のコードより、表頭のみの条件(T,F)でそれに応じた期待値を出力することが
出来るようになったので、下記のコードに表頭の条件も追加して
表側と表頭の条件から期待値が出力出来るようにしたい。
#表側のみの条件から期待値を出力するコード(やったこと)
python
1import pandas as pd 2import itertools 3pd.set_option('display.unicode.east_asian_width',True) 4 5#表側 6front_table = { 7 '操作':['ボタン','ビデオ','静止'] 8} 9 10''' 11#表頭(実装したいことで追加するもの) 12table_head = { 13 '期待動作':['画面表示中'] 14} 15''' 16 17#期待値 18expected_value = [ 19 '電源オフする', 20 'ビデオモードオン', 21 '静止する' 22} 23 24#真偽のマーク 25true_mark = 'T' 26false_mark = 'F' 27 28#真偽の組み合わせを網羅的に行う関数 29def combination_TF(front_table): 30 table_index = front_table 31 combination = itertools.product(*[[true_mark,false_mark]]*len(table_index)) 32 return (combination,table_index) 33 34data, conditions = combination_TF(front_table['操作']) 35condition_df = pd.DataFrame(list(data),columns=conditions) 36 37#条件の組み合わせ(T,F)によって期待値を表示 38action_df = condition_df.copy() 39action_df.columns = [s + '_action' for s in action_df.columns] 40 41action_df = action_df.apply(lambda series:[expected_value[i] if truth_value == true_mark else '' for i,truth_value in enumerate(series)],axis=1) 42print(action_df.T) 43whole_table = pd.concat([condition_df,action_df],axis=1) 44with open('table.html','w') as f: 45 whole_table.T.to_html(f)
この実行結果に表頭の条件も入れて、表頭の条件が「T」かつそれぞれの表側の条件によって期待結果が出るようにしたい。
あなたの回答
tips
プレビュー