取消两个数据帧

时间:2017-03-31 03:29:24

标签: python python-2.7 date pandas dataframe

我知道它在python中是基本的,但我找不到合适的方法来做以下事情......

我有2个由日期组成的数据框。 第一个包含300个日期,第二个包含20个日期。

我想创建一个由300个日期组成的新数据框,而不包含第二个数据框中的20个日期。

[in] Dates1 
[out]
1    2017-03-10
2    2017-03-09
3    2017-03-08
4    2017-03-07
5    2017-03-06 
6    2017-03-03
7    2017-03-02
8    2017-03-01
9    2017-02-28
10   2017-02-27
etc... 

[in] Dates2
[out]
 1    2017-03-03
 2    2017-03-01

expectedResult
[out]
1    2017-03-10
2    2017-03-09
3    2017-03-08
4    2017-03-07
5    2017-03-06 
6    2017-03-02
7    2017-02-28
8    2017-02-27

非常感谢!

2 个答案:

答案 0 :(得分:0)

你可以先合并然后重做

result = df1.append(df2)  data = result.drop_duplicates()

答案 1 :(得分:0)

使用~isin

Dates1.loc[~Dates1.iloc[:, 0].isin(Dates2.iloc[:, 0])]

            1
0            
1  2017-03-10
2  2017-03-09
3  2017-03-08
4  2017-03-07
5  2017-03-06
7  2017-03-02
9  2017-02-28
10 2017-02-27