[英]Rename values inside a dataframe column using loop python
I have created a loop to manipulate a dataframe from a query. 我创建了一个循环来处理查询中的数据框。
contas = ["Margem Bruta","Faturamento", "Resultado Bruto", "Resultado Líquido", "Despesas Operacionais", "Despesas Vendas"]
results = []
for i in contas:
The result is a dataframe like this: 结果是这样的数据框:
Year Period y yhat Contas Resultado
0 2017 1 23.818044 23.818033 Faturamento
1 2017 2 20.275252 20.275264 Faturamento
2 2017 3 22.347278 22.347281 Faturamento
3 2017 4 23.837490 23.837491 Faturamento
4 2017 5 23.460605 23.460606 Faturamento
5 2017 6 22.307115 22.307115 Faturamento
6 2017 7 23.643994 23.643991 Faturamento
7 2017 8 23.791720 23.791714 Faturamento
8 2017 9 23.643933 23.643927 Faturamento
9 2017 10 20.771269 20.771262 Faturamento
10 2017 11 21.317947 21.317948 Faturamento
11 2017 12 22.361570 22.361584 Faturamento
12 2018 1 24.336259 24.336270 Faturamento
13 2018 2 19.926928 19.926916 Faturamento
14 2018 3 22.714901 22.714898 Faturamento
15 2018 4 23.605119 23.605118 Faturamento
16 2018 5 23.653298 23.653297 Faturamento
17 2018 6 23.052182 23.052181 Faturamento
18 2018 7 24.377920 24.377923 Faturamento
19 2018 8 24.576733 24.576738 Faturamento
20 2018 9 24.376775 24.376781 Faturamento
21 2018 10 21.256970 21.256976 Faturamento
22 2018 11 21.969202 21.969200 Faturamento
23 2018 12 22.970637 22.970623 Faturamento
25 2019 1 0.000000 19.337573 0
[125 rows x 5 columns]
My problem is: 我的问题是:
How can I replace the last 0 value of 'Contas Resultado' Column using the loop list ? 如何使用循环列表替换“ Contas Resultado”列的最后0个值?
I tried this: 我尝试了这个:
result = result['Contas Resultado'].replace({'0': [i]}, inplace = True)
But I didn't get the right output : 但是我没有得到正确的输出:
0 1 \
Contas Resultado Faturamento Faturamento
Contas Resultado Resultado Bruto Resultado Bruto
Contas Resultado Resultado Líquido Resultado Líquido
Contas Resultado Despesas Operacionais Despesas Operacionais
Contas Resultado Despesas Vendas Despesas Vendas
I just want to change all the lines that "contas resultado' is zero. 我只想更改“ contas resultado”为零的所有行。
25 2019 1 0.000000 19.337573 0
to the corresponding value of the loop list 到循环列表的相应值
25 2019 1 0.000000 19.337573 Faturamento
try the following 尝试以下
idx = result['Contas Resultado'] == 0
result.loc[idx, 'Contas Resultado'] = 'Faturamento'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.