需要修复Pandas数据帧的输出

时间:2014-12-06 18:42:56

标签: python numpy pandas

该程序运行良好,但输出不是我想要的格式。从下面的输出中可以看出,'from'和'to'数据的打印输出与'route'和'date'的打印输出不同。怎么解决这个问题?我希望日期,路线,来自和来自同一水平的输出。

      date    route
  0  05/15/2014  C000001     from     to
  0  278.7  278.6
      date    route
  0  05/15/2014  C000001     from     to
  0  278.6  278.5

此外,该程序应该遍历任意数量的.txt文件。但它仅在目标目录中只有一个文本文件时才有效。

def array_setter():
    import os
    import glob
    import numpy as np
    import pandas as pd
    os.chdir\
    ('/Users/thomaswolff/Documents/Data Exports')
    for file in glob.glob('*.TXT'):
        reader = open(file)
        headerLine = reader.readline()
        mainBody = reader.readlines()
        for col in mainBody:
            valueList = col.split(",")
            data = np.array([valueList])

            arrstr = data[:,[0,1]]
            arrnum = data[:,[5,6]].astype(np.float)

            dstr = pd.DataFrame(arrstr,columns=['date','route'])
            dnum = pd.DataFrame(arrnum,columns=['from','to'])

            routes = dstr['route'] == 'C000001'
            from_ = dnum['from'] > 278.5

            if routes == True:
                if from_ == True:
                    print dstr,dnum
array_setter()

1 个答案:

答案 0 :(得分:1)

输出太窄我遇到了同样的问题并解决了它 put(假设import pandas as pd

pd.set_option('display.width', 130)    

文件开头的某个地方。为了完整起见,我还要提到

pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 50)    

有关更多选项和示例,请参阅pandas documentation

至于不遍历* .txt文件,你的“for col”循环是否只需要额外的缩进?这就是它在你的帖子中显示的缩进形式。您的“for file”循环结束,然后才开始“for col”循环。

顺便说一下,两个for循环中的缩进都显示为双缩进,不应该是。