Pandas中如何实现每列乘以该列首行单元格的值
实现方案
以下是Python pandas库的实现方法:
步骤1:构造示例DataFrame
import pandas as pd df = pd.DataFrame({ 'Score1': [1, 0, 2, 1], 'Score2': [3, 0, 3, 6], 'Score3': [4, 0, 5, 2] })
步骤2:按需求计算
根据你的实际诉求选择对应实现逻辑:
场景1:所有行都乘以对应列的首行值(包括首行本身)
利用pandas广播特性直接计算即可:df = df * df.iloc[0]输出结果:
Score1 Score2 Score3 1 9 16 0 0 0 2 9 20 1 18 8 场景2:首行保持原值不变,仅从第二行开始乘以对应列的首行值(和你给出的预期输出完全一致)
df.iloc[1:] = df.iloc[1:] * df.iloc[0]输出结果:
Score1 Score2 Score3 1 3 4 0 0 0 2 9 20 1 18 8
内容的提问来源于stack exchange,提问作者guitarman
相关产品推荐
相关产品推荐

