首页 > 解决方案 > Pandas 数据框比较和复制

问题描述

下面我有两个数据帧,第一个是数据帧 det,第二个是原始数据。我需要det['Detection']比较orig['Date/Time']。在比较过程中找到值后,我需要将值从某个最终数据帧 ( ) 复制origdet其中final。我需要最终数据框的格式是det['Date/Time'] orig['Lat'] orig['Lon'] orig['Dep'] det['Mag'] 我希望我的格式适合人们。我不确定如何处理数据框,所以我只是将它们放在表格中。一些可能无关紧要的附加信息det是 3385 行 x 3 列和orig818 行 x 9 列。

det

约会时间 麦格 检测
2008/12/27T01:06:56.37 0.280 2008/12/27T13:50:07.00
2008/12/27T01:17:39.39 0.485 2008/12/27T01:17:39.00
2008/12/27T01:33:23.00 -0.080 2008/12/27T01:17:39.00

orig

约会时间 纬度 部门 毫升 麦克 ñ 最小 哎呀
2008/12/27T01:17:39.00 44.5112 -110.3742 5.07 -9.99 0.51 5 6 3.2
2008/12/27T04:33:30.00 44.4985 -110.3750 4.24 -9.99 1.63 9 8 0.9
2008/12/27T05:38:22.00 44.4912 -110.3743 4.73 -9.99 0.37 8 8 0.8

final

det['日期/时间'] 原点['纬度'] 原点['Lon'] 原点['Dep'] det['Mag']

标签: pythonpandasdataframe

解决方案


您可以合并两个数据框,因为您想使用Detection第一个数据框Date/Time的列和第二个数据框的列,您可以在合并时重命名第二个数据框的列,因为列名已经存在于第一个数据框中:

det.merge(org.rename(columns={'Date/Time': 'Detection'}))

输出

                Date/Time    Mag               Detection      Lat       Lon   Dep    Ml    Mc  N  Dmin  ehz
0  2008/12/27T01:17:39.39  0.485  2008/12/27T01:17:39.00  44.5112 -110.3742  5.07 -9.99  0.51  5     6  3.2
1  2008/12/27T01:33:23.00 -0.080  2008/12/27T01:17:39.00  44.5112 -110.3742  5.07 -9.99  0.51  5     6  3.2

然后,您可以选择所需的列。


推荐阅读