2016-04-19 5 views
0

から表を作成します。私はこのようなコードしたデータ

for x in rem_dups: 

    gran = str(x[2])[-4:] 

    if str(x[0])[0] == '1': 
     print "+1: ", x[0], gran 

    if str(x[0])[0] == '2': 
     print "+2: ", x[0], gran 

    if str(x[0])[0] == '3': 
     print "+3: ", x[0], gran 

    if str(x[0])[0] == '4': 
     print "+4: ", x[0], gran 

    if str(x[0])[0] == '5': 
     print "+5: ", x[0], gran 

    if str(x[0])[0] == '6' : 
     print "+6: ", x[0], gran 

    if str(x[0])[0:2] == '-1' : 
     print "-1: ", x[0], gran 

    if str(x[0])[0:2] == '-2' : 
     print "-2: ", x[0], gran 

    if str(x[0])[0:2] == '-3' : 
     print "-3: ", x[0], gran 

    if str(x[0])[0:2] == '-4' : 
     print "-4: ", x[0], gran 

    if str(x[0])[0:2] == '-5' : 
     print "-5: ", x[0], gran 

    if str(x[0])[0:2] == '-6' : 
     print "-6: ", x[0], gran 

rem_dupsをXがその中に三つの変数を持つ各タプルを出力して、タプルのリストです。印刷されたステートメントのすべてからテーブルを作成するにはどうすればよいですか?私は3列と12行のものを求めています.3つの列は+6〜6です(これは前の条件の前と後の時間です)。x [0]は与えられた条件であり、 'gran'は与えられたものです調子。

+0

サンプルデータを追加し、出力を追加し、それらの出力をどのように異ならせる必要があります。そうでなければ、あなた以外の他の人にとっては非常に混乱します。この例のif文のように、何度も何度も繰り返してコードが見える場合は、あなたがしようとしていることは何でも簡単に実行できます。 – Chris

答えて

1

あなたの質問には答えられませんが、繰り返しコードを減らす方法の例をご紹介します。

if文をこれに似たものに置き換えると、乱雑さが軽減されます。これは同じ数行のコードを何度も何度も再利用することによって同じ機能を実行します。

for i in range(1,6): 
    if str(x[0])[0] == i: 
     print "+" + i + ": ", x[0], gran 

    if str(x[0])[0:2] == -i: 
     print "-" + i + ": ", x[0], gran 
0

Chrisあなたが示したコードを編成する方法にgood pointになります。あなたがリストを作成することができ、あなたの質問に関して

、:

data_list.append({'lag_hours':"+" + i, 'condition':x[0], 'other_thing':gran}) 

data_list = [] 

次に、データの「行」のそれぞれのために、あなたが通り、DATA_LISTに辞書を追加する必要があります

このリストを持っていたら、あなたはパンダを使用してテーブルを作成することができます。

import pandas 
data_frame = pandas.DataFrame(data_list) 

あなたはあなたのデータの時間を見ることができますそのようなEAD(上行):

data_frame 

あなたの中に何のサンプルは、(印刷rem_dumpsのような)rem_dumpsを示している場合、私はあなたにいくつかの作業コードを与えることができます。

幸運を祈る!

関連する問題