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