当前位置: 首页 > 后端技术 > Python

Dataframe数据保存csv————数据转换问题

时间:2023-03-26 11:03:57 Python

问题Dataframe数据处理过程中,有时某列的元素是列表或张量,如:importpandasaspdimportnumpyasnpdata_test={"a":[[1,2],[3,4],[5,6]],"b":[4,5,6],"c":[7,8,9]}df_test=pd.DataFrame(data_test)此时如果数据保存为csv格式df_test.to_csv("./test.csv",index=None)#不保留行索引df_read=pd.read_csv("./test.csv")type(df_read['a'][0])>>>str可以看到,重新读取数据会将第一列中原本是list的元素改为str类型,带来了麻烦。解决方案我们先将df格式的数据转换成numpy格式,然后存储。np.save("./np_data.npy",df_test.values)#df.values相当于将dataframe转为数组,但不保留列名和行索引np_data=np.load('./np_data.npy',allow_pickle=True)df_read=pd.DataFrame(np_data)df_read.columns=['a','b','c']#重新附上列名type(df_read['a'][0])>>>列表