如何将pandas中两列np.array类型数据合并为单列拼接数组
你得到嵌套数组是因为没有调用numpy数组的专用拼接方法,直接把两个数组对象放入了新序列,使用np.concatenate()即可实现一维数组拼接,代码如下:
import pandas as pd import numpy as np # 你的原有数据转换代码 df["col1"] = df['col1'].apply(lambda x : np.fromstring(str(x).replace('[','').replace(']',''), sep=',').astype(int)) df["col2"] = df['col2'].apply(lambda x : np.fromstring(str(x).replace('[','').replace(']',''), sep=',').astype(int)) # 新增按行数组合并代码 df['col3'] = df.apply(lambda row: np.concatenate([row['col1'], row['col2']]), axis=1) # 如果需要col3为Python列表而非numpy数组,改成以下写法即可 # df['col3'] = df.apply(lambda row: np.concatenate([row['col1'], row['col2']]).tolist(), axis=1)
运行后即可得到预期的一维拼接结果。
内容的提问来源于stack exchange,提问作者LJo
相关产品推荐
相关产品推荐

