Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pandas #18

Open
jmarcellopereira opened this issue Nov 11, 2021 · 3 comments
Open

Pandas #18

jmarcellopereira opened this issue Nov 11, 2021 · 3 comments

Comments

@jmarcellopereira
Copy link

Olá a todos. Gostei do pacote e estou usando nas aulas de física experimental no ifc luzerna em Santa Catarina. Quando uso o pacote em conjunto com o pandas ocorre isto:

from uncertain_panda import pandas as pd
import pandas as pd

Tabela = pd.DataFrame()

Tabela['Massa'] = [Medida((0.51, 0.01)),Medida((0.61, 0.01)), Medida((0.74, 0.01)), Medida((0.59, 0.01))]
Tabela['g'] = [Medida((9.78, 0.02)), Medida((9.81, 0.02)), Medida((9.88, 0.02)), Medida((9.78, 0.02))]

forca = pd.DataFrame()
forca['Forca'] = []

for i in range(0, 2):
   forca.loc[i] = [Tabela.Massa[[i]] * Tabela.g[[i]]]

forca
Força
0 0 5.0±0.1
dtype: object
1
1 6.0±0.1
dtype: object

Como retirar a informação "dtype: object" do dataframe?

@gjvnq
Copy link
Owner

gjvnq commented Nov 12, 2021

Não sei se isso é possível. Nunca tentei misturar essa biblioteca com o Pandas.

@jmarcellopereira
Copy link
Author

Não sei se isso é possível. Nunca tentei misturar essa biblioteca com o Pandas.

Tranquilo

@brenopelegrin
Copy link

@jmarcellopereira é possível utilizar matrizes do numpy com o fork que criei, o que soluciona o seu problema, já que o numpy implementa a multiplicação elemento-elemento de matrizes. Basta instalar o fork:

pip install git+https://github.com/brenopelegrin/LabIFSC.git

E então, o código fica:

from LabIFSC import *
import pandas as pd
import numpy as np

Tabela = pd.DataFrame()

Tabela['Massa'] = M(np.array([0.51, 0.61, 0.74, 0.59]), incerteza=0.01)
Tabela['g'] = M(np.array([9.78, 9.81, 9.88, 9.78]), incerteza=0.02)

forca = pd.DataFrame()
forca['Forca'] = []

#Ao invés do for i in range(0,2), podemos fazer um slice do dataframe:
forca['Forca'] = Tabela['Massa'].iloc[0:2] * Tabela['g'].iloc[0:2]

forca

E então, seu output será:

Forca
0	(5.0±0.1)
1	(6.0±0.1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants