Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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 使用numpy arrays列保存数据帧 让我们考虑下面的熊猫数据文件: df = pd.DataFrame([[1,np.array([6,7])],[4,np.array([8,9])]], columns = {'A','B'})_Python_Pandas_Numpy - Fatal编程技术网

Python 使用numpy arrays列保存数据帧 让我们考虑下面的熊猫数据文件: df = pd.DataFrame([[1,np.array([6,7])],[4,np.array([8,9])]], columns = {'A','B'})

Python 使用numpy arrays列保存数据帧 让我们考虑下面的熊猫数据文件: df = pd.DataFrame([[1,np.array([6,7])],[4,np.array([8,9])]], columns = {'A','B'}),python,pandas,numpy,Python,Pandas,Numpy,其中,B列由两个numpy数组组成 df[col] = df.col.apply(formatting) 如果保存数据帧并再次加载,numpy数组将转换为字符串 df.to_csv('test.csv', index = False) df.read_csv('test.csv') 有什么简单的方法可以解决这个问题吗?这是加载的数据帧的输出 您可以修改数据 df.to_pickle('test.csv') df = pd.read_pickle('test.csv') 这将确保格式保持不变

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

df[col] = df.col.apply(formatting)
如果保存数据帧并再次加载,numpy数组将转换为字符串

df.to_csv('test.csv', index = False)
df.read_csv('test.csv')
有什么简单的方法可以解决这个问题吗?这是加载的数据帧的输出


您可以修改数据

df.to_pickle('test.csv')
df = pd.read_pickle('test.csv')
这将确保格式保持不变。然而,它不是人类可读的

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

df.to_json('abc.json')
df = pd.read_json('abc.json')

使用以下函数格式化每一行

def formatting(string_numpy):
"""formatting : Conversion of String List to List

Args:
    string_numpy (str)
Returns:
    l (list): list of values
"""
list_values = string_numpy.split(", ")
list_values[0] = list_values[0][2:]
list_values[-1] = list_values[-1][:-2]
return list_values
然后使用下面的apply函数将其转换回numpy数组

df[col] = df.col.apply(formatting)

小心点。自己腌制就可以了。但是不同版本之间可能不兼容。那么np.savez('filename',labels)或savetext或其他类似选项呢?它存储阵列