python - 根据其他列值计算出的新 Pandas Dataframe 列

标签 python pandas dataframe

如何在数据框中创建一个由该行中索引值范围的平均值组成的新列?

示例:

     1    2    3  JUNK
0  0.0  0.0  0.0    A    
1  1.0  1.0 -1.0    B    
2  2.0  2.0  1.0    C

尝试确定 MEAN 列时,JUNK 列将被忽略

预期输出:

     1    2    3  JUNK  MEAN
0  0.0  0.0  0.0    A    0.0
1  1.0  1.0 -1.0    B    0.33
2  2.0  2.0  1.0    C    1.66

最佳答案

使用drop用于删除或 iloc用于过滤掉不必要的列:

df['MEAN'] = df.drop('JUNK', axis=1).mean(axis=1)

df['MEAN'] = df.iloc[:, :-1].mean(axis=1)

print (df)
     1    2    3 JUNK      MEAN
0  0.0  0.0  0.0    A  0.000000
1  1.0  1.0 -1.0    B  0.333333
2  2.0  2.0  1.0    C  1.666667

关于python - 根据其他列值计算出的新 Pandas Dataframe 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52052060/

相关文章:

python - .dat 文件导入 Pandas

r - 获取数据帧 R 的所有列的平均值

python - 使用键/元组对从字典中提取元组

python - 将 openpyxl 与 lambda 结合使用

python - 检查是否相等,如果任一输入可以是 `str` 或 `bytes`

python - 在 While 循环中将行追加到 Pandas Dataframe

python - 如何在Python中正确实现映射协议(protocol)?

python-3.x - 将多列映射到 Pandas 中的新列

python - 基于字典在数据框中搜索字符串

python - Pandas Dataframe 同时拆分列列表