【发布时间】:2015-10-17 20:13:12
【问题描述】:
仍然没有掌握 pandas 的窍门,我正在尝试使用合并在 Pandas 中加入两个数据框。我已将 CSV 读入两个数据帧(在下面的代码中名为 dropData 和 deosData)。两个数据框都有“Date_Time”列,这是一个已解析的日期和时间信息列,用于为每个条目创建一个唯一的 ID。 deosData 文件是一整年的观察结果,我试图将其与 dropData 中的相应条目进行匹配。
CSV 文件:
deosData:https://www.dropbox.com/s/3rr7hf7jzrmxdke/inputDeos.csv?dl=0
dropData:https://www.dropbox.com/s/z9mv4xccjzlsyif/inputDrop.csv?dl=0
我已经阅读了合并函数的文档,并在各种迭代中尝试了以下代码,到目前为止,我只能拥有一个带有正确标题行的空白数据框,或者将两个数据框合并到0--(N-1) 默认分配的索引:
我的代码:
import pandas as pd
import numpy as np
import os
from matplotlib import pyplot as plt
#read in CSV to dataframe
dropData=pd.read_csv("inputDrop.csv", header=0, index_col=None)
deosData=pd.read_csv("inputDeos.csv", header=0, index_col=None)
#merging dataframes into single sf
merge=pd.merge(dropData,deosData, how='inner', on='Date_Time')
#comment out during debugging
#merge.to_csv('output.csv', sep=',', headers=True, index=False)
#check merge dataframe creation
print merge.head(1)
在 SE 和 Doc 上搜索后,我尝试重置索引、忽略索引列、将“Date_Time”列复制为单独的索引并尝试在新列上合并,我尝试使用“on=None” , 'left_on' 和 'right_on' 作为 'Date_Time' 的排列无济于事。我检查了列数据类型,两者中的“Date_Time”都是 dtype 对象,我不知道这是否是错误的根源,因为我发现搜索的唯一问题是围绕着不同的 dtype 相互匹配。
我要做的是让两个数据框在两个“Date_Time”列相交的地方合并。例如:
Date_Time,Volume(Max),Volume(Sum),Volume(Min),Volume(Mean),Diameter(Count),Diameter(Max),Diameter(Sum),Diameter(Min),Diameter(Mean),Depth(Sum),Velocity(Max),Velocity(Sum),Velocity(Min),Velocity(Mean), Air Temperature (deg. C), Relative humidity (%), Wind Speed (m.s-1), Wind Direction (deg.), Wind Gust Speed (5) (m.s-1), Barometric Pressure (mbar), Gage Precipitation (5) (mm)
9/1/2014 0:00,2.266188524,2.989272461,0.052464219,0.332141385,9,1.629668,5.972978,0.464467,0.663664222,0.003736591,2.288401,16.889656,1.495487,1.876628444,22.5,99,0,216.1,0.4,1016.2,0
任何帮助将不胜感激。
【问题讨论】:
-
您的问题是什么?还是问题?