繁体   English   中英

熊猫数据框更新列

[英]Pandas dataframe update column

我有以下熊猫数据框:

>>> 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.Col3与数据df2.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.Col1df['Col1']

您可以连接两个数据帧,按Col3排序,然后删除['Col1','Col2']组合的重复项。 您还需要将Col3转换为日期时间对象。

> 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM