我试图在pandas中读取一个大的csv文件(aprox.6 GB),我收到以下内存错误:
MemoryError Traceback (most recent call last)
<ipython-input-58-67a72687871b> in <module>()
----> 1 data=pd.read_csv('aphro.csv',sep=';')
C:\Python27\lib\site-packages\pandas\io\parsers.pyc in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format)
450 infer_datetime_format=infer_datetime_format)
451
--> 452 return _read(filepath_or_buffer, kwds)
453
454 parser_f.__name__ …Run Code Online (Sandbox Code Playgroud) 那么,看看下面的代码:
import numpy as np
import pandas as pd
def answer_one():
energy = pd.read_excel(io = "Energy Indicators.xls", header = 9, parse_cols = "C:F", skip_footer = 38)
return energy
answer_one()
Run Code Online (Sandbox Code Playgroud)
它产生以下输出:
现在,当我对代码进行一些修改时,如下所示,它完全改变了输出:
def answer_one():
energy = pd.read_excel(io = "Energy Indicators.xls", header = 9, parse_cols = "C:F", skip_footer = 38, skiprows = 8)
return energy
answer_one()
Run Code Online (Sandbox Code Playgroud)
我得到的输出如下:
根据我赋予“skiprows”参数的参数,输出会自行更改。我无法理解当我们保持“headers”参数的参数不变时,为什么更改“skiprows”的值会影响数据帧的标题?请在此处找到数据文件(.xlsx 文件)
有什么帮助吗?我使用 Pandas v0.19.2。另外,请不要将我的问题标记为“重复”。我丢分了伙计。我相当努力地试图找到一个现有的问题,但找不到。