Python 将对象列转换为数组类型-pandas.DataFrame
我正在用pd.read\u SQL()读取一个SQL查询 查询的一列具有数组类型,但Pandas不将其识别为数组,而是识别为字符串 如何更改列的de类型,使其能够迭代其值 这是df头:Python 将对象列转换为数组类型-pandas.DataFrame,python,pandas,numpy,Python,Pandas,Numpy,我正在用pd.read\u SQL()读取一个SQL查询 查询的一列具有数组类型,但Pandas不将其识别为数组,而是识别为字符串 如何更改列的de类型,使其能够迭代其值 这是df头: main_ID related_ids 1 00088381096959 [PRDKQUOV2JAR17RD, PRDKPYH11Z4GFZOV] 2 0011509002051
main_ID related_ids
1 00088381096959 [PRDKQUOV2JAR17RD, PRDKPYH11Z4GFZOV]
2 0011509002051 [PRCOFOK9MJ2CTABE, PRSESJD2K7PFYVUM]
3 0011509002051 [OSPAA89FNMJH9UWK, OSPW2JJQ949ZHNS3]
4 0019954960568 [PRDORZT50BDS1Z6H, PRDHG07MVG1YCX2N]
然后我需要做这样的事情:
for item,row in df.iterrows():
for id in row['related_ids']:
code...
尝试:
通过strip()
和split()
:
或
如果需要np.array()
,请使用:
df['related_ids']=df['related_ids'].str.strip('[]').str.split(',').map(np.array)
使用pd.eval()
显示此错误pandas.core.computation.ops.UndefinedVariableError:未定义名称“OSPRSPPQK33EAY22L”
。使用strip()
和split()
它工作得很好,我只需要删除“'”
,但没问题。多谢各位
df['related_ids']=df['related_ids'].str.strip('[]').str.split(',').map(np.array)