1,我想读取一个hdf5文件并对其进行排名。pandas中的SIGSEGV错误Series.rank(升序= False)
import pandas as pd
def test_df_ranks(f):
df = pd.read_hdf(f, key="t")
print (df.shape)
print (type(df))
print (df)
s=df.non_current_asset_to_total_asset
#s.rank() # rank() work properly
s.rank(ascending=False) #rank(ascending=False) crash
然后我得到一个SIGSEGV错误。 的下面是verison列表:
numpy==1.11.0
pandas==0.17.1
pymongo==3.2.2
python-dateutil==2.5.3
pytz==2016.4
ricequant-utility==0.1.0
six==1.10.0
tables==3.2.2
os: 3.10.0-327.13.1.el7.x86_64 #1 SMP Thu Mar 31 16:04:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
gcc: 4.8.5
我尝试去使用gdb,但不同的堆栈堆栈显示:
#1:
....
#7 OBJECT_compare (ip1=0x47a3ef4b2e420, ip2=0x7f5c5413f128, __NPY_UNUSED_TAGGEDap=0x7f5cd0100760) at numpy/core/src/multiarray/arraytypes.c.src:2753
#8 0x00007f5d0142c50e in npy_aquicksort ([email protected]=0x7f5c5413f060, [email protected]=0x7f5c5413cc80, [email protected]=52, [email protected]=0x7f5cd0100760) at numpy/core/src/npysort/quicksort.c.src:480
#9 0x00007f5d0139a78a in _new_argsortlike ([email protected]=0x7f5cd0100760, axis=0, [email protected]=0x7f5d0142c310 <npy_aquicksort>, [email protected]=0x0, [email protected]=0x0, [email protected]=0)
at numpy/core/src/multiarray/item_selection.c:1035
#10 0x00007f5d0139dd7b in PyArray_ArgSort ([email protected]=0x7f5cd0100760, axis=0, which=<optimized out>) at numpy/core/src/multiarray/item_selection.c:1309
#11 0x00007f5d013dd012 in array_argsort (self=0x7f5cd0100760, args=<optimized out>, kwds=<optimized out>) at numpy/core/src/multiarray/methods.c:1278
#12 0x00007f5cf4eef28f in __Pyx_PyObject_Call (func=0x7f5cd1a1acc8, arg=0x7f5d0f900048, kw=0x0) at pandas/algos.c:201388
#13 0x00007f5cf504e006 in __pyx_pf_6pandas_5algos_8rank_1d_generic ([email protected]=0x7f5cd0100620, __pyx_v_retry=1, __pyx_v_ties_method=0x7f5cf6999768, __pyx_v_ascending=0x7f5d0f6bd700 <_Py_FalseStruct>,
__pyx_v_na_option=<optimized out>, __pyx_v_pct=0x7f5d0f6bd700 <_Py_FalseStruct>, __pyx_self=<optimized out>) at pandas/algos.c:14942
#14 0x00007f5cf5050481 in __pyx_pw_6pandas_5algos_9rank_1d_generic (__pyx_self=<optimized out>, __pyx_args=<optimized out>, __pyx_kwds=0x7f5cd8659488) at pandas/algos.c:14439
#15 0x00007f5d0f3b9477 in PyEval_EvalFrameEx() from /lib64/libpython3.4m.so.1.0
#16 0x00007f5d0f3b9f3e in PyEval_EvalCodeEx() from /lib64/libpython3.4m.so.1.0
#17 0x00007f5d0f3b7a12 in PyEval_EvalFrameEx() from /lib64/libpython3.4m.so.1.0
#18 0x00007f5d0f3b9f3e in PyEval_EvalCodeEx() from /lib64/libpython3.4m.so.1.0
#19 0x00007f5d0f3b7a12 in PyEval_EvalFrameEx() from /lib64/libpython3.4m.so.1.0
#20 0x00007f5d0f3b8e40 in PyEval_EvalFrameEx() from /lib64/libpython3.4m.so.1.0
#21 0x00007f5d0f3b9f3e in PyEval_EvalCodeEx() from /lib64/libpython3.4m.so.1.0
#22 0x00007f5d0f3b7a12 in PyEval_EvalFrameEx() from /lib64/libpython3.4m.so.1.0
#23 0x00007f5d0f3b9f3e in PyEval_EvalCodeEx() from /lib64/libpython3.4m.so.1.0
#24 0x00007f5d0f32a4b3 in function_call() from /lib64/libpython3.4m.so.1.0
#25 0x00007f5d0f301dcc in PyObject_Call() from /lib64/libpython3.4m.so.1.0
#26 0x00007f5d0f3b57c9 in PyEval_EvalFrameEx() from /lib64/libpython3.4m.so.1.0
...
现在堆栈:
#0 0x00007ffff6c985f7 in raise() from /lib64/libc.so.6
#1 0x00007ffff6c99ce8 in abort() from /lib64/libc.so.6
#2 0x00007ffff6cd8317 in __libc_message() from /lib64/libc.so.6
#3 0x00007ffff6ce0023 in _int_free() from /lib64/libc.so.6
#4 0x00007fffd15785a9 in H5FL_reg_gc_list() from /lib64/libhdf5.so.8
#5 0x00007fffd1578626 in H5FL_reg_gc() from /lib64/libhdf5.so.8
#6 0x00007fffd157b0be in H5FL_garbage_coll() from /lib64/libhdf5.so.8
#7 0x00007fffd157b34e in H5FL_term_interface() from /lib64/libhdf5.so.8
#8 0x00007fffd14ae466 in H5_term_library() from /lib64/libhdf5.so.8
#9 0x00007ffff6c9be69 in __run_exit_handlers() from /lib64/libc.so.6
#10 0x00007ffff6c9beb5 in exit() from /lib64/libc.so.6
#11 0x00007ffff6c84b1c in __libc_start_main() from /lib64/libc.so.6
#12 0x0000000000400b89 in _start()
2,我将我的数据保存到csv。然后通过pd.read_csv() 这两个series.rank(ascending = True)或者series.rank(ascending = Flase)得到pd.Series。
3,表中可能存在问题?或hdf5?我的hdf5数据:https://github.com/HaoXJ/codefail/blob/master/data/test.h5。
4,需要你们的帮助。
我报告的bug熊猫..谢谢小号 –