繁体   English   中英

在 pandas 数据框的一行中添加具有所有相似值的矩阵

[英]Add matrix with all similar value in one rows on pandas dataframe

这里是X

Id  Jakarta Bandung
1        10      40
2        20      50
3        30      60

这是数据框'y`

Jakarta      Bandung
     11           12

Xplusy

Id  Jakarta Bandung
1        21      52
2        31      62
3        41      72

如何编码Xplusy

您可以使用iloc[0]y切片到 Series 或squeezeadd

如果Id是索引:

x.add(y.iloc[0])
# or
x.add(y.squeeze())

否则,如果Id是一列:

x.set_index('Id').add(y.iloc[0]).reset_index()

或使用reindex

x.add(y.squeeze().reindex(x.columns, fill_value=0))

输出:

   Id  Jakarta  Bandung
0   1       21       52
1   2       31       62
2   3       41       72

如果Id是索引使用DataFrame.add witt 选择Y的第一行 for Series by DataFrame.iloc

X = X.add(Y.iloc[0])
print (X)
    Jakarta  Bandung
Id                  
1        21       52
2        31       62
3        41       72

如果Id是第一列,则选择所有没有第一列的列:

X.iloc[:, 1:] = X.iloc[:, 1:].add(Y.iloc[0])
print (X)
   Id  Jakarta  Bandung
0   1       21       52
1   2       31       62
2   3       41       72

或者通过Index.intersection在两个 DataFrame 中获取相同的所有列:

cols = X.columns.intersection(Y.columns)
X[cols] = X[cols].add(Y.iloc[0])
print (X)
   Id  Jakarta  Bandung
0   1       21       52
1   2       31       62
2   3       41       72

暂无
暂无

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

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