Python 数据帧比较和复制
下面我有两个数据帧,第一个是数据帧det,第二个是orig。我需要将Python 数据帧比较和复制,python,pandas,dataframe,Python,Pandas,Dataframe,下面我有两个数据帧,第一个是数据帧det,第二个是orig。我需要将det['Detection']与orig['Date/Time']进行比较。在比较过程中找到值后,我需要将值从orig和det复制到某个最终数据帧(final)。我需要的最终数据帧格式是det['Date/Time']orig['Lat']orig['Lon']orig['Dep']det['Mag']我希望我的格式适合人们使用。我不确定如何处理数据帧,所以我只是将它们放在表中。一些可能无关紧要的附加信息是det是3385行乘
det['Detection']
与orig['Date/Time']
进行比较。在比较过程中找到值后,我需要将值从orig
和det
复制到某个最终数据帧(final
)。我需要的最终数据帧格式是det['Date/Time']orig['Lat']orig['Lon']orig['Dep']det['Mag']
我希望我的格式适合人们使用。我不确定如何处理数据帧,所以我只是将它们放在表中。一些可能无关紧要的附加信息是det
是3385行乘3列,orig
是818行乘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
您可以合并这两个数据帧,因为您希望使用第一个数据帧中的
检测
列和第二个数据帧中的日期/时间
列,所以在合并时您可以重命名第二个数据帧的列,因为列名称已经存在于第一个数据帧中:
det.merge(org.rename(columns={'Date/Time':'Detection'}))
输出:
日期/时间磁检测Lat Lon Dep Ml Mc N Dmin ehz
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
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
然后,您可以选择所需的列。似乎您想要使用内部合并。检查-我同意@Nk03类似于
final=det.merge(orig['Date/Time','Lat','Lon']],on='Date/Time')
的说法,我几乎用内部合并方法解决了这个问题,但它缺少很多行。我感谢你的意见@Don'tAcept能够解决这个问题。谢谢大家!