Python 删除日期不相同的数据框行

Python 删除日期不相同的数据框行,python,pandas,Python,Pandas,我有两个数据帧,应该是相同的长度,但不是 它是最近两天的股价,数据框中有收盘价、日期和交易量列 现在我想删除日期不相等的所有数据帧行,以便更好地绘制和比较数据 有人能帮我解决这个问题吗 谢谢和亲切的问候 176 5338.8 2017-11-23T07:40:00.000000Z 81 177 5336.7 2017-11-23T07:45:00.000000Z 176 178 5342.8 2017-11-23T07:50:00.000000Z

我有两个数据帧,应该是相同的长度,但不是

它是最近两天的股价,数据框中有收盘价、日期和交易量列

现在我想删除日期不相等的所有数据帧行,以便更好地绘制和比较数据

有人能帮我解决这个问题吗

谢谢和亲切的问候

176   5338.8  2017-11-23T07:40:00.000000Z      81  
177   5336.7  2017-11-23T07:45:00.000000Z     176  
178   5342.8  2017-11-23T07:50:00.000000Z     109  
179   5339.8  2017-11-23T07:55:00.000000Z     114  
180   5342.8  2017-11-23T08:00:00.000000Z     285  
181   5337.4  2017-11-23T08:05:00.000000Z     363  
182   5333.9  2017-11-23T08:10:00.000000Z     174 
150行对180行。我想删除日期不相等的所有行

143   3549.3  2017-11-23T07:35:00.000000Z      14  
144   3547.3  2017-11-23T07:40:00.000000Z       4  
145   3548.3  2017-11-23T07:45:00.000000Z       8  
146   3551.3  2017-11-23T07:50:00.000000Z       5  
147   3548.3  2017-11-23T07:55:00.000000Z       9  
148   3550.0  2017-11-23T08:00:00.000000Z      42  
149   3548.0  2017-11-23T08:05:00.000000Z      89  
150   3548.0  2017-11-23T08:10:00.000000Z      13  
用于相同的日期,然后使用以下各项进行筛选:


使用内部联接:df1.merge(df2,on='date',how='internal')是否要删除df1或df2中的行或同时删除这两个行?最好同时删除这两个行,因为我并不总是知道差异在哪里。二者平等是唯一的区别important@Marcel-如果我的答案有用,别忘了-单击复选标记(
),将其从灰显切换为填充。谢谢
a = np.union1d(df1['date'], df1['date'])
print (a)
['2017-11-23T07:40:00.000000Z' '2017-11-23T07:45:00.000000Z'
 '2017-11-23T07:50:00.000000Z' '2017-11-23T07:55:00.000000Z'
 '2017-11-23T08:00:00.000000Z' '2017-11-23T08:05:00.000000Z'
 '2017-11-23T08:10:00.000000Z']

df1 = df1[df1['date'].isin(a)]
print (df1)
          a                         date    b
176  5338.8  2017-11-23T07:40:00.000000Z   81
177  5336.7  2017-11-23T07:45:00.000000Z  176
178  5342.8  2017-11-23T07:50:00.000000Z  109
179  5339.8  2017-11-23T07:55:00.000000Z  114
180  5342.8  2017-11-23T08:00:00.000000Z  285
181  5337.4  2017-11-23T08:05:00.000000Z  363
182  5333.9  2017-11-23T08:10:00.000000Z  174

df2 = df2[df2['date'].isin(a)]
print (df2)
          a                         date   b
144  3547.3  2017-11-23T07:40:00.000000Z   4
145  3548.3  2017-11-23T07:45:00.000000Z   8
146  3551.3  2017-11-23T07:50:00.000000Z   5
147  3548.3  2017-11-23T07:55:00.000000Z   9
148  3550.0  2017-11-23T08:00:00.000000Z  42
149  3548.0  2017-11-23T08:05:00.000000Z  89
150  3548.0  2017-11-23T08:10:00.000000Z  13