使用numpy arrays列保存熊猫数据框

nun*_*usa 7 python numpy pandas

让我们考虑以下熊猫数据框:

df = pd.DataFrame([[1,np.array([6,7])],[4,np.array([8,9])]], columns = {'A','B'})
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

其中B列由两个numpy数组组成。

如果保存数据帧并再次加载,则numpy数组将转换为字符串。

df.to_csv('test.csv', index = False)
df.read_csv('test.csv')
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法可以解决此问题?这是已加载数据帧的输出。

在此处输入图片说明

Use*_*und 5

您可以代替这些数据。

df.to_pickle('test.csv')
df = pd.read_pickle('test.csv')
Run Code Online (Sandbox Code Playgroud)

这样可以确保格式保持不变。但是,它不是人类可读的

如果人类可读性是一个问题,我建议将其转换为json文件

df.to_json('abc.json')
df = pd.read_json('abc.json')
Run Code Online (Sandbox Code Playgroud)

  • 请小心。腌制自己用就可以了。但它可能在 pandas 版本之间不兼容。 (2认同)