tushare icon indicating copy to clipboard operation
tushare copied to clipboard

下载前复权数据时偶然出现段错误的问题

Open bigcat133 opened this issue 2 years ago • 0 comments

这个是下载时出错的堆栈信息, File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/dtypes/cast.py", line 2737, in astype_nansafe File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/dtypes/cast.py", line 2281, in astype_array File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/dtypes/cast.py", line 1821, in astype_array_safe for t in types: File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/internals/blocks.py", line 591, in astype new_values = astype_array_safe(values, dtype, copy=copy, errors=errors) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 327, in apply applied = getattr(b, f)(**kwargs) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 418, in astype return self.apply("astype", dtype=dtype, copy=copy, errors=errors) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/generic.py", line 6839, in astype if obj.empty: File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/tushare/pro/data_pro.py", line 138, in pro_bar data[col] = data[col].astype(float) File "/home/aaaa/data/stock-analysis/data_cleaning/tushare.py", line 134, in get_stock_datas df = ts.pro_bar(ts_code=row[0], adj='qfq', start_date='20100101', end_date=_end_date)

这个是下载后保存时出错的堆栈信息 `Traceback (most recent call first): <built-in method astype of numpy.ndarray object at remote 0x7fffd643b870> File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/internals/blocks.py", line 2079, in to_native_types values = values.astype(object, copy=False) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/internals/blocks.py", line 641, in to_native_types result = to_native_types(self.values, na_rep=na_rep, quoting=quoting, **kwargs) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 327, in apply applied = getattr(b, f)(**kwargs) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 466, in to_native_types return self.apply("to_native_types", **kwargs) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/io/formats/csvs.py", line 307, in _save_chunk res = df._mgr.to_native_types(**self._number_format) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/io/formats/csvs.py", line 300, in _save_body self._save_chunk(start_i, end_i) File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/io/formats/csvs.py", line 262, in _save self._save_body() File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/io/formats/csvs.py", line 769, in save File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/io/formats/format.py", line 1361, in to_csv

File "/home/aaaa/data/ENV/stock-analysis/lib/python3.8/site-packages/pandas/core/generic.py", line 3978, in to_csv raise ValueError( File "/home/aaaa/data/stock-analysis/data_cleaning/tushare.py", line 145, in get_stock_datas df.to_csv(save_path, sep=',', encoding="utf-8", index=False) `

用gdb 调试时会出现 Thread 1 "python" received signal SIGSEGV, Segmentation fault.

我的软件版本是 Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal

Python 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] on linux

pandas==1.3.5 numpy==1.22.3 tushare==1.2.84

另外如果直接下载时也容易出现这个问题,但是要是在client.py中返回pandas DataFrame对象前增加这个代码好像可以有效减少问题 if len(data['fields']) != len(columns): raise Exception(">>>>>>>>>> columns number is not equal items number of members!!!")

bigcat133 avatar Apr 19 '22 15:04 bigcat133