python - 需要将每一列乘以熊猫中该列中的顶部单元格
问题描述
我有以下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
我该怎么做呢?
解决方案
利用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