如何连接具有不同列的极坐标数据框

问题描述 投票:0回答:1

在 pandas 中,它会自动发生,只需调用

pd.concat([df1, df2, df3])
,之前没有该列的框架就会获得一个充满
NaN
s 的列。

在极坐标中,我得到一个

'shape error'
,其中显示列不同的消息(
df1
中的 11 列与
df2
中的 12 列)。

concatenation append python-polars
1个回答
20
投票

Polars 默认情况下关心操作中模式的正确性,并且更喜欢在静默成功之上抛出错误,因为这可能表明程序中存在错误。

如果您想要

polars
添加列,请将 kwarg
how="diagonal"
添加到
pl.concat

df_a = pl.DataFrame({
    "a": [1, 2, 3],
    "b": [True, None, False],
})


df_b = pl.DataFrame({
    "a": [4, 5],
    "c": ["bar", "ham"]
})


pl.concat([df_a, df_b], how="diagonal")
shape: (5, 3)
┌─────┬───────┬──────┐
│ a   ┆ b     ┆ c    │
│ --- ┆ ---   ┆ ---  │
│ i64 ┆ bool  ┆ str  │
╞═════╪═══════╪══════╡
│ 1   ┆ true  ┆ null │
│ 2   ┆ null  ┆ null │
│ 3   ┆ false ┆ null │
│ 4   ┆ null  ┆ bar  │
│ 5   ┆ null  ┆ ham  │
└─────┴───────┴──────┘

© www.soinside.com 2019 - 2024. All rights reserved.