Pandas 从其他系列有条件地创建系列

Pandas 从其他系列有条件地创建系列,pandas,Pandas,假设我有两个系列s1和s2,其中s2包括s1的所有索引和其他一些索引 我想获得第三个系列s3,其索引与s2相同,其中: 如果索引位于s1,s3获取s1 否则,获取s2中已经存在的值 我怎样才能在熊猫身上做到这一点?我最初认为我可以通过连接或concat操作来实现这一点,但我认为这不起作用。您可以使用以下方法: In [11]: s1 = pd.Series([1, 2]) In [12]: s2 = pd.Series([3, 4, 5]) In [13]: s3 = s2.copy()

假设我有两个系列
s1
s2
,其中
s2
包括
s1
的所有索引和其他一些索引

我想获得第三个系列
s3
,其索引与
s2
相同,其中:

  • 如果索引位于
    s1
    s3
    获取
    s1
  • 否则,获取
    s2中已经存在的值
我怎样才能在熊猫身上做到这一点?我最初认为我可以通过
连接
concat
操作来实现这一点,但我认为这不起作用。

您可以使用以下方法:

In [11]: s1 = pd.Series([1, 2])

In [12]: s2 = pd.Series([3, 4, 5])

In [13]: s3 = s2.copy()  # update is inplace, so let's do this on a copy

In [14]: s3.update(s1)

In [15]: s3
Out[15]:
0    1
1    2
2    5
dtype: int64

当然非常感谢@Andy,这是正确的方法(如使用字典),祝贺你获得40k!你的贡献非常有帮助。