繁体   English   中英

pandas:如何根据列值在一个数据帧中从另一个数据帧中 append 行?

[英]pandas: How can I append rows in one data frame from another based on column values?

这个问题有点难以解释。 我有一个包含 110 列的数据集“Tab1”。 这是在线实验的数据。 第二个表“Tab2”由“Tab1”的实验结果组成,该表有 20 列。 这两个表中的“exp_num”列是通用的,而列的 rest 是不同的。

举个例子,我有 20 个实验,每个实验有 6 条记录,即“Tab1”中共有 120 条记录。 让我们以一个实验“exp1”为例。 在第 6 条记录(本实验的最后一个结果)之后,将附加来自“Tab2”的本实验结果。 在下一个实验“exp2”和“exp2”的最后一条记录之后,再次附加来自“Tab2”的“exp2”的结果,依此类推。

结构应如下所示:

图片

黄色标记的数据来自“Tab1”,灰色标记的数据来自“Tab2”

我认为你想要的实际上是一个连接或 pandas.concat。

这是一个完整的例子。

import pandas as pd
import numpy as np

d1 = {'exp_num': ['aw23','aw23','aw23','aw23','aw23'], 'colA': [2,2,2,2,2], 'colB': [3,3,3,3,3], 'colC': [4,4,4,4,4]}
df1 = pd.DataFrame(data=d1)

d2 = {'exp_num': ['aw23','aw23'], 'colD': [1,2], 'ColE': [3,4]}
df2 = pd.DataFrame(data=d2)

显示示例数据框

df1.head(5)

df2.head(5)

这是连接和结果

df3 = pd.concat([df1,df2], ignore_index=True)
df3.head(10)

只是为了知识分享。 找到所需内容的最简单方法可能是 pandas 备忘单https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf#

如果那是正确的答案,请标记它。 谢谢:)

最好的法比

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM