【发布时间】:2021-05-03 01:23:05
【问题描述】:
我有以下数据框,每列都有数值:
Total.show(5)
|id_cliente|consumo_datos_MB|sms_enviados|minutos_llamadas_movil|minutos_llamadas_fijo|sum(id_cliente)|sum(consumo_datos_MB)|sum(sms_enviados)|sum(minutos_llamadas_movil)|sum(minutos_llamadas_fijo)|
+----------+----------------+------------+----------------------+---------------------+---------------+---------------------+-----------------+---------------------------+--------------------------+
| 2| 611| 0| 41| 38| 2| 611| 0| 41| 38|
| 8| 284| 5| 71| 31| 8| 284| 5| 71| 31|
| 14| 1324| 0| 28| 29| 14| 1324| 0| 28| 29|
| 21| 1748| 0| 81| 12| 21| 1748| 0| 81| 12|
| 25| 1555| 0| 60| 6| 25| 1555| 0| 60| 6|
+----------+----------------+------------+----------------------+---------------------+---------------+---------------------+-----------------+-----------------
我需要做的是创建另一个 DF,其中每个值乘以一个系数,如下所示:
0.4 --> minutos_llamadas_movil
0.3 --> consumo_datos_MB
0.2 --> minutos_llamadas_fijo
0.1 --> sms_enviados
这意味着我必须将每列中的每个项目乘以不同的值,即:minutos_llamadas_movil 下的每个项目都必须乘以 0.4,consumo_datos_MB 下的每个项目都必须乘以 0.3,依此类推。
这是我尝试过的:
Sumas = Total["consumo_datos_MB", "sms_enviados", "minutos_llamadas_movil", "minutos_llamadas_fijo"]=
0.3 * Total["consumo_datos_MB"],
0.4 * Total["minutos_llamadas_movil"],
0.2 * Total["minutos_llamadas_fijo"],
0.1 * Total["sms_enviados"]
print(Sumas)
我在尝试运行上面的代码时收到以下错误消息:typeerror 'dataframe' object does not support item assignment pyspark
我在网上看到的有关此错误的所有内容都涉及日期格式,但这里不是这种情况,所以我不确定问题可能是什么。
有人可以帮忙吗?
提前非常感谢!
【问题讨论】: