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