Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫数据帧:如何避免';ValueError:little-endian编译器';删除某些值时_Python_Pandas_Astropy_Astronomy - Fatal编程技术网

Python 熊猫数据帧:如何避免';ValueError:little-endian编译器';删除某些值时

Python 熊猫数据帧:如何避免';ValueError:little-endian编译器';删除某些值时,python,pandas,astropy,astronomy,Python,Pandas,Astropy,Astronomy,我有各种.fits文件,其中包含光谱数据。我正在将数据转换为数据帧。一些.fits文件包含两页数据,这就是我包含try函数的原因。一旦我拥有了所有数据,我会尝试删除不包含数据的行: try: df = pd.DataFrame(grism1D[1].data) dfb = pd.DataFrame(grism1D[2].data) df = df.append(dfb) df = df[df.flux != 0] except: print("Missin

我有各种.fits文件,其中包含光谱数据。我正在将数据转换为数据帧。一些.fits文件包含两页数据,这就是我包含try函数的原因。一旦我拥有了所有数据,我会尝试删除不包含数据的行:

try:
    df = pd.DataFrame(grism1D[1].data)
    dfb = pd.DataFrame(grism1D[2].data)
    df = df.append(dfb)
    df = df[df.flux != 0]
except:
    print("Missing Data")
    df = pd.DataFrame(grism1D[1].data)
    df = df.append(df)
    df = df[df.flux != 0]
这是可行的,但是如果我不包括df=df.append(df)行,我会得到一个错误

ValueError: Big-endian buffer not supported on little-endian compiler
我以一种异常愚蠢的方式解决了这个问题,将数据添加到自身,这实际上是将光谱的点相互重叠。这在最终的图像中看起来很好,但我希望有一种方法可以做到这一点,在不将数据附加到自身的情况下,我不会得到错误消息

我也试过了

df=pd.DataFrame(np.array(grism1D).byteswap().newbyteorder())

这是我从另一篇关于此错误消息的帖子中发现的,但这对我不起作用。

你能试试这样的方法吗:

from astropy.table import Table, vstack
tbl = Table.read('your_fits_file.fits', hdu=1)
try:
    tbl2 = Table.read('your_fits_file.fits', hdu=2)
except:
    pass
else:
    tbl = vstack([tbl, tbl2])

df = tbl.to_pandas()
df = df[df.flux != 0]

这会运行,但在循环的几乎每次迭代之后,它都会向我发出警告消息:“警告:MergeConflictWarning:无法合并元键'EXPTIME'类型,并选择EXPTIME=9223.48681599999[astropy.utils.metadata]”在调用
vstack()时使用
metadata\u conflicts='silent'
以抑制这些警告。