如何更新Pandas Datafram中的列

2024-09-27 21:24:14 发布

您现在位置:Python中文网/ 问答频道 /正文

Pandas中,我试图用另一个数据帧(DF1)中的值向数据帧(DF2)添加新列/更新现有列。我可以在SQL中想到如何做到这一点

UPDATE DF2
SET DF2['Column'] = DF1['Column']
FROM DF2
JOIN DF1 ON DF1['NonIndexColumn'] = DF2['NonIndexColumn']

数据示例:

^{pr2}$

我试图将DF1['SignUpDate']添加到DF2上,这样DF2将如下所示:

       CustomerID   OrderDate  OrderID  SignUpDate
0           1  2014-01-15        1      2014-01-01
1           1  2014-01-15        2      2014-01-01
2           2  2014-03-28        3      2014-02-01
3           1  2014-03-29        4      2014-01-01
4           3  2014-04-28        5      2014-03-01
5           2  2014-06-01        6      2014-02-01
6           1  2014-11-06        7      2014-01-01
7           3  2015-01-28        8      2014-03-01
8           1  2015-02-15        9      2014-01-01

我知道merge允许我添加列,但我必须重写现有的DF或创建一个新的DF,如下所示:

DF1 = pd.merge(DF1, DF2) #overwrite
DF3 = pd.merge(DF1, DF2) #new dataframe

有没有办法联接一个字段(可能是索引列,也可能不是索引列)并更新/添加字段吗?在


Tags: 数据frompandasdfsqlupdatecolumnmerge
1条回答
网友
1楼 · 发布于 2024-09-27 21:24:14

执行左^{}

In [4]:

DF2.merge(DF1, on='CustomerID', how='left')
Out[4]:
   CustomerID   OrderDate  OrderID  SignUpDate
0           1  2014-01-15        1  2014-01-01
1           1  2014-01-15        2  2014-01-01
2           2  2014-03-28        3  2014-02-01
3           1  2014-03-29        4  2014-01-01
4           3  2014-04-28        5  2014-03-01
5           2  2014-06-01        6  2014-02-01
6           1  2014-11-06        7  2014-01-01
7           3  2015-01-28        8  2014-03-01
8           1  2015-02-15        9  2014-01-01

相关问题 更多 >

    热门问题