我有12列数据包含每个客户12个月的余额,如下所示,如何创建一个额外的列与平均12个月的余额(b 0到b11)。
| 顾客|b0|b1|b2|b3|b4|b5|b6|b7|b8|b9|硼10|b11|平均值|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 客户_1|二十个|三十|零|零|零|零|零|零|零|零|零|零|二十五|
| 客户_2|三个|三个|三个|三个|三个|三个|三个|三个|三个|三个|三个|三个|三个|
| 客户_3|零|零|零|零|零|零|零|零|零|五十|三十|十个|三十|
| 客户_4|零|零|零|零|零|零|零|零|零|零|零|零|零|
我想有一个基于列名的通用代码,谢谢。
2条答案
按热度按时间von4xj4u1#
这是可行的:
除了
for col in df.schema.names if col!="customer"
之外,如果还有customer
以外的列,也可以使用for col in df.schema.names if "b" in col
。可以使用任何条件来选择要平均的列,但基本思想是相同的。输入:
输出(您可以删除中间列,我保留它们是为了便于理解):
jm2pwxwz2#
我想我们只需要nvl列并将它们相加,然后除以12。(单元格(b 0,0)+单元格(b1,0)+...单元格(b11,0)))/12
我是不是太天真了?