首页 > 解决方案 > 需要将每一列乘以熊猫中该列中的顶部单元格

问题描述

我有以下DF:

Score1 Score2 Score3
1      3      4
0      0      0
2      3      5
1      6      2

我想将每一列乘以该列单元格的顶部。所以输出将是:

Score1 Score2 Score3
1      3      4
0      0      0
2      9     20
1     18      8

我该怎么做呢?

标签: pythonpandas

解决方案


利用df.update

df.update(df.iloc[0] * df.iloc[1:])
print(df)

# Output:
   Score1  Score2  Score3
0     1.0     3.0     4.0
1     0.0     0.0     0.0
2     2.0     9.0    20.0
3     1.0    18.0     8.0

或者combine_first

df = df.iloc[0].mul(df.iloc[1:]).combine_first(df)
print(df)

# Output:
   Score1  Score2  Score3
0       1       3       4
1       0       0       0
2       2       9      20
3       1      18       8

推荐阅读