为什么在从numpy empty_like构造时打印数据帧会破坏python

piR*_*red 9 python numpy pandas

import numpy as np
import pandas as pd
Run Code Online (Sandbox Code Playgroud)

考虑numpy数组 a

a = np.array([None, None], dtype=object)
print(a)

[None None]
Run Code Online (Sandbox Code Playgroud)

dfa

dfa = pd.DataFrame(a)
print(dfa)

      0
0  None
1  None
Run Code Online (Sandbox Code Playgroud)

现在考虑numpy数组 b

b = np.empty_like(a)
print(b)

[None None]
Run Code Online (Sandbox Code Playgroud)

看起来像是一样的 a

(a == b).all()

True
Run Code Online (Sandbox Code Playgroud)

这个!撞上我的霹雳!! 小心!!!

dfb = pd.DataFrame(b)  # Fine so far
print(dfb.values)

[[None]
 [None]]
Run Code Online (Sandbox Code Playgroud)

然而

print(dfb)  # BOOM!!!
Run Code Online (Sandbox Code Playgroud)

chr*_*isb 7

正如这里所报告的,这是一个错误,它在pandas/即将 0.19.0发布的主分支中得到修复.