小编The*_*ian的帖子

熊猫将系列分配给多索引的新列

所以我用 MultiIndex 创建了一个数据框

df = pd.DataFrame({
    'C1': ['x', 'x', 'y', 'y', 'z', 'z'],
    'C2': ['a', 'b', 'a', 'b', 'a', 'b'],
    'C3': [10, 11, 12, 13, 14, 15]})
df.set_index(['C1', 'C2'], inplace=True)
Run Code Online (Sandbox Code Playgroud)

我得到以下数据框

       C3
C1 C2    
x  a   10
   b   11
y  a   12
   b   13
z  a   14
   b   15
Run Code Online (Sandbox Code Playgroud)

我也有一个具有相同索引的系列C2

series = pd.Series([100], index=['a'])
Run Code Online (Sandbox Code Playgroud)

我想将此系列分配给一个新列C4,仅分配给“x”第一个索引。如果我使用它,它会起作用.assign,但它返回一个副本:

df.loc['x'].assign(C4=series)
Run Code Online (Sandbox Code Playgroud)

我得到

    C3     C4
C2           
a   10  100.0
b   11    NaN
Run Code Online (Sandbox Code Playgroud)

但我未能将其分配给原始数据

df.loc['x'] = df.loc['x'].assign(C4=series)
Run Code Online (Sandbox Code Playgroud)

产量

         C3
C1 C2 …
Run Code Online (Sandbox Code Playgroud)

python indexing series dataframe pandas

4
推荐指数
2
解决办法
1910
查看次数

标签 统计

dataframe ×1

indexing ×1

pandas ×1

python ×1

series ×1