2024-06-02 05:26:57 发布
网友
请给出两个数据帧:
DF1型:
A B a1 b1 a2 b2 a3 b3
DF2型:
C1 C2 C3 0 0 1
我想执行以下DF1+DF2生成以下内容:
A B C1 C2 C3 a1 b1 0 0 1 a2 b2 0 0 1 a3 b3 0 0 1
我不清楚该如何使用Merge、Join或concatenate。请,任何帮助都将不胜感激
如果df2只包含一行,我们可以这样做:
df2
In [30]: df1.assign(**df2.iloc[0].to_dict()) Out[30]: A B C1 C2 C3 0 a1 b1 0 0 1 1 a2 b2 0 0 1 2 a3 b3 0 0 1
让我们使用一些解包和正向填充nas:
DF1.assign(**DF2).ffill()
或者,让我们创建一个伪键来进行笛卡尔连接,然后删除这个伪键。你知道吗
DF1.assign(key=1).merge(DF2.assign(key=1), on='key').drop('key',axis=1)
输出:
A B C1 C2 C3 0 a1 b1 0.0 0.0 1.0 1 a2 b2 0.0 0.0 1.0 2 a3 b3 0.0 0.0 1.0
pd.concat+ffill
pd.concat
ffill
pd.concat([df1,df2],1).ffill() Out[1188]: A B C1 C2 C3 0 a1 b1 0.0 0.0 1.0 1 a2 b2 0.0 0.0 1.0 2 a3 b3 0.0 0.0 1.0
如果
df2
只包含一行,我们可以这样做:让我们使用一些解包和正向填充nas:
或者,让我们创建一个伪键来进行笛卡尔连接,然后删除这个伪键。你知道吗
输出:
pd.concat
+ffill
相关问题 更多 >
编程相关推荐