Python 数据帧更新列

Python 数据帧更新列,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下数据帧: >>> df1 Col1 Col2 Col3 0 A a 2017-02-28 1 B b 2017-02-28 2 C c 2017-03-08 3 D d 2017-02-28 >>> df2 Col1 Col2 Col3 0 B b 2017-03-05 1 C c 2017-03-05 2 D d 2017-03-05

我有以下数据帧:

>>> df1
  Col1 Col2       Col3
0    A    a 2017-02-28
1    B    b 2017-02-28
2    C    c 2017-03-08
3    D    d 2017-02-28

>>> df2
  Col1 Col2       Col3
0    B    b 2017-03-05
1    C    c 2017-03-05
2    D    d 2017-03-05
我想用
df2.Col3
的数据更新
df1.Col3
,因为
df2.Col3
的日期是最新的,可以得到答案:

>>> df1
  Col1 Col2       Col3
0    A    a 2017-02-28
1    B    b 2017-03-05
2    C    c 2017-03-08
3    D    d 2017-03-05

你知道如何解决这个问题吗?

看起来你已经习惯了使用R。在Pandas中选择列的语法是
df.Col1
df['Col1']

您可以连接两个数据帧,按
Col3
排序,然后删除
['Col1','Col2']
组合的重复项。如果尚未将
Col3
转换为datetime对象,则需要将其转换为datetime对象

> df1.Col3 = pd.to_datetime(df1.Col3)
> df2.Col3 = pd.to_datetime(df2.Col3)
> (pd.concat((df1, df2))
      .reset_index(drop=True)
      .sort_values('Col3')
      .drop_duplicates(['Col1','Col2'], keep='last'))

#returns:
  Col1 Col2       Col3
0    A    a 2017-02-28
4    B    b 2017-03-05
6    D    d 2017-03-05
2    C    c 2017-03-08