2017-03-09 5 views
0

나는 다음과 같은 팬더 dataframes 있습니다팬더 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 

을 나는 df2.Col3의 날짜가 대답해야하는 최근의 경우 df2.Col3의 데이터 df1.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 

어떻게 해결할 수 있을까요?

답변

0

R을 사용하는 것처럼 보입니다. 팬더에서 열을 선택하는 구문은 df.Col1 또는 df['Col1']입니다.

두 데이터 프레임을 연결하고 Col3으로 정렬 한 다음 ['Col1','Col2'] 조합의 중복을 삭제할 수 있습니다. 아직 Col3을 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