报错解析
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,10,size=(5, 2)),columns=['test1','test2'])
生成的dataframe
格式是:
直接使用:
df.loc[0,'test_list'] = np.array([1,2,3])
会报错:ValueError: Must have equal len keys and value when setting with an iterable
解决方法
解决思路:
- 将添加的列表转换为
byte
类型的数据 - 将
byte
数据存放在单元格中 - 需要取数据的时候,将
byte
类型的数据在转换回来,变为ndarry
格式的数据
df.loc[0,'test_list'] = np.array([1,2,3]).tobytes()
这样就不会报错,第一行的数据是:
在需要数据时,使用:
np.frombuffer(df.loc[0,'test_list'], dtype=float)
这样就可以了