質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

990閲覧

表側と表頭を別にして表を表示したい

syen2501

総合スコア38

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/09/22 03:26

#実装したい事
下記の表で、表側と表頭を合わせて表として実行しているが、表側と表頭を別にして
同じような処理をしたい。

「電源ボタン」「ビデオボタン」「静止ボタン」と「動作」という風に分けて処理したい

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

電源ボタン T T T T T T T T F F F F F F F F
ビデオボタン T T T T F F F F T T T T F F F F
静止ボタン T T F F T T F F T T F F T T F F
動作 T F T F T F T F T F T F T F T F

python

1front_table = { 2 '操作':['電源ボタン','ビデオボタン'] 3} 4 5table_head = { 6 '期待動作':['動作'] 7} 8 9def combination_TF(front_table,table_head): 10 table_index = front_table + table_head 11 combination = itertools.product(*([true_mark,false_mark],)*len(table_index)) 12 13 dataTF = [[] for i in range(len(table_index))] 14 for com in combination: 15 for element_count,authenticity in enumerate(com): 16 dataTF[element_count].append(authenticity) 17 return (dataTF, table_index) 18 19data, conditions = combination_TF(front_table['操作'],table_head['期待動作']) 20df = pd.DataFrame(data,index=conditions) 21print(df)

出来れば関数でやりたいので、教えて頂きたいと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

やりたいことが、読み取れてなかったらごめんなさい。
すでにできているのでは?

'期待動作':['動作']に、'静止ボタン'を追加するか、
'操作':['電源ボタン','ビデオボタン']に、'静止ボタン'を追加すれば、期待の表示になりそうですが・・・

出来れば関数でやりたい

必要性は感じませんが、pd.DataFrame(data,index=conditions) をよぶだけの関数を作ればよいのでは?

print(pd.DataFrame(data,index=conditions))でも別によいかと・・・

やりたいことが違うようでしたら期待する出力結果を提示してください。

投稿2017/09/22 04:05

編集2017/09/22 05:15
momon-ga

総合スコア4820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syen2501

2017/09/22 08:11

表側と表頭を別で「T」と「F」を表示させて、後で2つの表を結合させて 下記のような表を表示しようと考えていたのですが、分かりにくくて申し訳ありません。 このようにできれば最終的に、「動作」の下に期待結果を表示させたいときに、列の番号を取ってきて その列のところに期待結果を表示することが出来ると考えたのです。 0 1 2 3 4 5 6 7 ボタン T T T T F F F F ビデオ T T F F T T F F ---------------------------------------- 動作 T F T F T F T F
momon-ga

2017/09/22 12:02 編集

pandasのdataframeを加工して、途中に------を挟み込むのは無理です。 期待結果を追加したい場合は、df.appendを使えば、想定のものができるかもしれません。 あとは、TFの組み合わせはすでに作成できているので、dataを使って自前に出力しては、どうでしょうか。 簡単に対応できる、それっぽいのだと print(df.iloc[0:len(data)-1]) #front_table だけを表示 print('----------------------') print(table_head['期待動作'][0] + ' ' + ' '.join(data[len(data)-1])) # table_headを表示
syen2501

2017/09/22 12:01

ありがとうございます。参考にさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問