相关疑难解决方法(0)

将numpy数组作为列添加到Pandas数据框中

我有一个形状(X,Y)的Pandas数据框对象,如下所示:

[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)

形状(X,Z)的numpy稀疏矩阵(CSC)看起来像这样

[[0, 1, 0],
[0, 0, 1],
[1, 0, 0]]
Run Code Online (Sandbox Code Playgroud)

如何将矩阵中的内容添加到新命名列中的数据框中,以使数据框最终如下:

[[1, 2, 3, [0, 1, 0]],
[4, 5, 6, [0, 0, 1]],
[7, 8, 9, [1, 0, 0]]]
Run Code Online (Sandbox Code Playgroud)

请注意,数据框现在具有形状(X,Y + 1),矩阵中的行是数据框中的元素.

python numpy pandas

59
推荐指数
5
解决办法
12万
查看次数

将numpy.array存储在Pandas.DataFrame的单元格中

我有一个数据框,我想在其中存储'raw' numpy.array:

df['COL_ARRAY'] = df.apply(lambda r: np.array(do_something_with_r), axis=1)
Run Code Online (Sandbox Code Playgroud)

但似乎pandas试图'解包'numpy.array.

有解决方法吗?除了使用包装器(参见下面的编辑)?

我试过reduce=False没有成功.

编辑

这是有效的,但是我必须使用'dummy' Data类来包围数组,这是不令人满意的并且不是很优雅.

class Data:
    def __init__(self, v):
        self.v = v

meas = pd.read_excel(DATA_FILE)
meas['DATA'] = meas.apply(
    lambda r: Data(np.array(pd.read_csv(r['filename'])))),
    axis=1
)
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

21
推荐指数
3
解决办法
3万
查看次数

标签 统计

numpy ×2

pandas ×2

python ×2

dataframe ×1