-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathleCsvPandas.py
More file actions
71 lines (46 loc) · 2.37 KB
/
leCsvPandas.py
File metadata and controls
71 lines (46 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import pandas as pd
df = pd.read_csv("dados_agrocredito_5.csv")
# print(data.loc[data['ID_produtor'] == 1])
# print(df.loc[df['Ano'] == 2019]['Producao_ton'])
# df['produtividade_media_5anos_2'] = df[[df.loc[df['Ano'] == 2019]['Producao_ton'],
# df.loc[df['Ano'] == 2020]['Producao_ton'],
# df.loc[df['Ano'] == 2021]['Producao_ton'],
# df.loc[df['Ano'] == 2022]['Producao_ton'],
# df.loc[df['Ano'] == 2023]['Producao_ton']]].mean(axis=1)
# df['produtividade_media_5anos_2'] = df[[100,200,300,400,500]].mean(axis=1)
# result = df.groupby(['ID_produtor', 'Ano'])['Producao_ton'].apply(list)
result = (
df.groupby(["ID_produtor"])
.agg({"Producao_ton": "mean"})
.rename(columns={"Producao_ton": "produtividade_media_5anos_ok"})
)
# print(result)
# result = result.rename(columns={'Producao_ton': 'produtividade_media_5anos_OK'})
df = df.merge(result, on="ID_produtor")
# df['produtividade_media_5anos_2'] = df.groupby('ID_produtor').agg({'Producao_ton': lambda x: list(x)})
# df['variacao_produtividade'] = df.loc[df['Ano'] == 2019]['Producao_ton'] / df.loc[df['Ano'] == 2023]['Producao_ton'] - 1
ano1 = df.loc[df["Ano"] == 2019]["Producao_ton"]
# df['safra_2019'] = ano
ano2 = df.loc[df["Ano"] == 2023]["Producao_ton"]
# df['safra_2023'] = ano
# fazer um data frame separado por id e ano e depois fazer join
df2019 = df[df["Ano"] == df["Ano"].min()][["ID_produtor", "Producao_ton"]].rename(
columns={"Producao_ton": "safra2019"}
)
df2023 = df[df["Ano"] == df["Ano"].max()][["ID_produtor", "Producao_ton"]].rename(
columns={"Producao_ton": "safra2023"}
)
df = df.merge(df2019, on="ID_produtor")
df = df.merge(df2023, on="ID_produtor")
df["variacao_produtividade_ok"] = df["safra2023"] / df["safra2019"] - 1
# df['safra_2019'] = df.groupby('ID_produtor')['Producao_ton'].transform(lambda x: df.loc[df['Ano'] == 2019]['Producao_ton'])
# df['variacao_produtividade'] = (df.loc[df['Ano'] == 2023]['Producao_ton'])/( df.loc[df['Ano'] == 2019]['Producao_ton']) - 1
print(df)
# import numpy as np
# # Create a sample DataFrame
# data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
# df = pd.DataFrame(data)
# # Calculate the mean of each row (axis=1)
# row_means = df.agg('mean', axis=1)
# # Print the result
# print(row_means)