我的代码如下:
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打印出每个元组中包含三个变量的元组。如何从所有打印的语句中创建表格?我想要三列12行的东西 - 三列是+6 ...... - 6(这些是先前条件之前和之后的小时),给定条件的x [0]和给定条件的'gran'条件。
答案 0 :(得分: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
答案 1 :(得分:0)
Chris对您展示的代码应该如何组织good point。
关于您的问题,您可以创建一个列表:
data_list = []
然后对于每个"行"对于数据,您应该将字典附加到data_list,如:
data_list.append({'lag_hours':"+" + i, 'condition':x[0], 'other_thing':gran})
获得此列表后,您可以使用pandas创建表:
import pandas
data_frame = pandas.DataFrame(data_list)
您可以像这样查看数据的头部(顶行):
data_frame
如果您展示了rem_dumps内部的样本(例如print rem_dumps),我可以为您提供一些正常工作的代码。
祝你好运!