【问题标题】:How to check if two pandas dataframes have same values and concatenate those rows?如何检查两个熊猫数据框是否具有相同的值并将这些行连接起来?
【发布时间】:2022-12-02 23:28:31
【问题描述】:

我有一个名为“df”的 DF,其中包含 4 个数字列 [frame,id,x,y] 我做了一个循环,创建了两个数据帧,分别称为 df1 和 df2。 df1 和 df2 都是原始数据帧的子集。

我想做的(我不明白该怎么做)是这样的:我想检查 df1 和 df2 在名为“id”的列中是否具有相同的值。如果他们这样做,我想将 df2 的那些行(具有相同的 id 值)连接到 df1。

例如:如果 df1 具有不同 id 值 (1,6,4,8) 的行,而 df2 具有此 id 值 (12,7,8,10)。我想将 id 值 = 8 的 df2 行连接到 df1。这就是我所需要的

这是我的代码:

for i in range(0,max(df['frame']),30):
 df1=df[df['frame'].between(i, i+30)]
 df2=df[df['frame'].between(i-30, i)]

【问题讨论】:

  • 请提供输入/预期输出的可重现示例

标签: python pandas loops


【解决方案1】:

df3 = pd.concat([df1, df2[df2.id.isin(df1.id)]], axis = 0)

【讨论】:

  • 您可能还想应用 .reset_index() 以确保 df3 具有唯一命名的行
猜你喜欢
  • 2020-11-27
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 2018-10-05
  • 1970-01-01
  • 2014-09-05
  • 2018-04-10
  • 2020-03-18
相关资源
最近更新 更多