相关疑难解决方法(0)

可以memmap熊猫系列.数据帧怎么样?

似乎我可以通过创建mmap'ddarray并使用它来初始化Series来为python系列记录底层数据.

        def assert_readonly(iloc):
           try:
               iloc[0] = 999 # Should be non-editable
               raise Exception("MUST BE READ ONLY (1)")
           except ValueError as e:
               assert "read-only" in e.message

        # Original ndarray
        n = 1000
        _arr = np.arange(0,1000, dtype=float)

        # Convert it to a memmap
        mm = np.memmap(filename, mode='w+', shape=_arr.shape, dtype=_arr.dtype)
        mm[:] = _arr[:]
        del _arr
        mm.flush()
        mm.flags['WRITEABLE'] = False  # Make immutable!

        # Wrap as a series
        s = pd.Series(mm, name="a")
        assert_readonly(s.iloc)
Run Code Online (Sandbox Code Playgroud)

成功!它似乎s是由只读的mem映射的ndarray支持.我可以为DataFrame执行相同的操作吗?以下失败

        df = pd.DataFrame(s, copy=False, columns=['a'])
        assert_readonly(df["a"]) # Fails …
Run Code Online (Sandbox Code Playgroud)

python numpy multidimensional-array pandas numpy-memmap

8
推荐指数
1
解决办法
2331
查看次数