Python:增加最大行数

Python:增加最大行数,python,numpy,pandas,Python,Numpy,Pandas,我正在处理一个大文本文件(500k行),格式如下: S1_A16 0.141,0.009340221649748676 0.141,4.192618196894668E-5 0.11,0.014122135626540204 S1_A17 0.188,2.3292323316081486E-6 0.469,0.007928706856794138 0.172,3.726771730573038E-5 我使用下面的代码返回每个系列的相关系数,例如S_A16: import numpy as np

我正在处理一个大文本文件(500k行),格式如下:

S1_A16
0.141,0.009340221649748676
0.141,4.192618196894668E-5
0.11,0.014122135626540204
S1_A17
0.188,2.3292323316081486E-6
0.469,0.007928706856794138
0.172,3.726771730573038E-5
我使用下面的代码返回每个系列的相关系数,例如S_A16:

import numpy as np
import pandas as pd
import csv
pd.options.display.max_rows = None
fileName = 'wordUnigramPauseTEST.data'

df = pd.read_csv(fileName, names=['pause', 'probability'])
mask = df['pause'].str.match('^S\d+_A\d+')
df['S/A'] = (df['pause']
              .where(mask, np.nan)
              .fillna(method='ffill'))
df = df.loc[~mask]

result = df.groupby(['S/A']).apply(lambda grp: grp['pause'].corr(grp['probability']))
print(result)
但是,对于某些大型文件,这会返回错误:

Traceback (most recent call last):
  File "/Users/adamg/PycharmProjects/Subj_AnswerCorrCoef/GetCorrCoef.py", line 15, in <module>
    print(result)
  File "/Users/adamg/anaconda/lib/python2.7/site-packages/pandas/core/base.py", line 35, in __str__
    return self.__bytes__()
  File "/Users/adamg/anaconda/lib/python2.7/site-packages/pandas/core/base.py", line 47, in __bytes__
    return self.__unicode__().encode(encoding, 'replace')
  File "/Users/adamg/anaconda/lib/python2.7/site-packages/pandas/core/series.py", line 857, in __unicode__
    result = self._tidy_repr(min(30, max_rows - 4))
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
回溯(最近一次呼叫最后一次):
文件“/Users/adamg/PycharmProjects/subc_AnswerCorrCoef/GetCorrCoef.py”,第15行,在
打印(结果)
文件“/Users/adamg/anaconda/lib/python2.7/site packages/pandas/core/base.py”,第35行,在__
返回self.\uuuu字节\uuuu()
文件“/Users/adamg/anaconda/lib/python2.7/site packages/pandas/core/base.py”,第47行,以字节为单位__
返回self.\uuuuUnicode\uuuuuu().encode(编码“替换”)
文件“/Users/adamg/anaconda/lib/python2.7/site packages/pandas/core/series.py”,第857行,采用unicode编码__
结果=自我报告(最少(30行,最多行-4行))
TypeError:-:“NoneType”和“int”的操作数类型不受支持
我知道这与
print
语句有关,但如何修复它

编辑: 这与最大行数有关。有人知道如何容纳更多的行吗?

错误消息:

TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
表示
None
减去
int
是一个类型错误。如果你看一下回溯中倒数第二行,你会发现唯一的减法是

max_rows - 4
因此
max_rows
必须是
None
。如果您深入到第857行附近的
/Users/adamg/anaconda/lib/python2.7/site packages/pandas/core/series.py
,并询问自己
max_rows
如何最终等于
None
,您会以某种方式看到这一点

get_option("display.max_rows")
必须返回
None

代码的这一部分正在调用
\u tidy\u repr
,用于总结本系列文章
None
是要显示
系列的所有行时要设置的正确值。
因此,当
max_rows
为None时,不应该到达代码的这一部分

我已对此进行了更正。

错误消息:

TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
表示
None
减去
int
是一个类型错误。如果你看一下回溯中倒数第二行,你会发现唯一的减法是

max_rows - 4
因此
max_rows
必须是
None
。如果您深入到第857行附近的
/Users/adamg/anaconda/lib/python2.7/site packages/pandas/core/series.py
,并询问自己
max_rows
如何最终等于
None
,您会以某种方式看到这一点

get_option("display.max_rows")
必须返回
None

代码的这一部分正在调用
\u tidy\u repr
,用于总结本系列文章
None
是要显示
系列的所有行时要设置的正确值。
因此,当
max_rows
为None时,不应该到达代码的这一部分


我已经做了一些修改。

这里有一个有用的技巧(如果您使用的是ipython),即%调试并找出问题所在。如果没有一个可复制的例子,很难说。我猜是坏数据,试着检查数据类型…与数据无关。正如我在编辑中所说,这与最大行数有关。这里有一个有用的技巧(如果您使用的是ipython),即%调试并找出问题所在。如果没有一个可复制的例子,很难说。我猜是坏数据,试着检查数据类型…与数据无关。正如我在编辑中所说,它与最大行数有关。