jonhhy Posted May 20 Report Share Posted May 20 Bom dia, tenho uma dúvida sobre como faço para verificar a diferença das implementações das funções nas várias linguagens de programação. Uma vez ao verificar a linguagem R , verifico que a implementação difere do python e gostaria de saber os fundamentos para perceber como a função está implementada num caso e no outro. mtcars.head() Error: could not find function "mtcars.head" # Call head() on mtcars head(mtcars) ------------------------------ Suppose you want to output the first and last 10 rows of the iris data set. In R: data(iris) head(iris, 10) tail(iris, 10) In Python (scikit-learn required to load the iris data set): import pandas as pd from sklearn import datasets iris = pd.DataFrame(datasets.load_iris().data) iris.head(10) iris.tail(10) ------- fonte: https://stackoverflow.com/questions/25211220/python-equivalent-of-rs-head-and-tail-function Link to comment Share on other sites More sharing options...
M6 Posted May 20 Report Share Posted May 20 Não sei se percebi a tua questão. A tua questão é a implementação do head e do tail? 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
jonhhy Posted May 23 Author Report Share Posted May 23 Em 20/05/2022 às 16:23, M6 disse: Não sei se percebi a tua questão. A tua questão é a implementação do head e do tail? Olá M6, queria arranjar um método para perceber como devo chamar a função ou para perceber a forma/porque que se chama dessa maneira. Visto que, fica confuso quando trabalhamos com 2 funções de programação em simultâneo. Neste caso tanto faz, quero saber as diferenças entre a definição/implementação no python e R pois as chamadas são com a estrutura fora e antes do parentisis no python e no R a estrutura iris está dentro. abraço Link to comment Share on other sites More sharing options...
M6 Posted May 23 Report Share Posted May 23 Creio que continuo a não compreender totalmente as tuas dúvidas, mas vou tentar trazer alguma luz ao assunto. O nome das funções é o que se quiser, podia ser "batatas fritas" ou "palmadinhas nas costas". Quanto à implementação, partindo do principio que fazem a mesma coisas, seguem um algoritmo, por exemplo, no caso de "head" poderá ser devolver o primeiro elemento de uma lista e o "tail" o último elemento de uma lista (ou primeira/última linha de um ficheiro; ou primeiro/último vetor de uma matriz). Por exemplo, o head em R: https://r-lang.com/r-head-function/; o tail em Pandas: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.tail.html Quanto a trabalhar com duas funções ao mesmo tempo, isso não acontece aí, é uma de cada vez. Só terias uma situação de simultaneidade em caso de programação concorrente. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
jonhhy Posted May 24 Author Report Share Posted May 24 Sim M6, não me expliquei bem então posso dizer que: em R data, head e tail são funções, enquanto em python são métodos da class iris ou dataframe (que vem do pacote pandas...)? abraço Link to comment Share on other sites More sharing options...
Solution M6 Posted May 24 Solution Report Share Posted May 24 Correto. Em Python a biblioteca Pandas tem essas funções como métodos do dataframe e em R elas existem de forma nativa no core da linguagem. Um método não é mais do que uma função "agarrada" a uma classe. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
jonhhy Posted May 25 Author Report Share Posted May 25 (edited) Bom dia, por curiosidade gostava de converter o seguinte programa em R: rv <- 1:20 mtrx <- matrix(rv, nrow = 5, ncol = 4) mtrx cat("Using head() function to get first 3 rows", "\n") head(mtrx,3) [,1] [,2] [,3] [,4] [1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 13 18 para python, porque queria observar a ordem de atribuição de valores de um vetor para uma matriz. Em python fiz assim para criar uma lista: rv = list(range(0,21)) print(rv) mat = [] while rv != []: mat.append(rv[:1]) rv = rv[1:] print(mat) Estou a procurar como colocar numa matriz para depois comparar a forma de ordenação Em R o que altera são as rows, pensei que o mais normal era alterar as colunas primeiramente. # update transform a order sequence (Python list) to a matrix rv = list(range(0,21)) print(rv) arr = np.asarray(rv) print(arr) #x = np.array([[1, 2], [3, 4]]) m = np.asmatrix(arr) print(m) import numpy as np matrix= np.arange(1,21).reshape((5, 4)) # Original matrix print(matrix) # Number of rows and columns of the said matrix print(matrix.shape) print([:3,]) # 3 first rows, all columns [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] Edited May 25 by jonhhy Link to comment Share on other sites More sharing options...
jonhhy Posted May 25 Author Report Share Posted May 25 R: [,1] [,2] [,3] [,4] [1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 13 18 Python: [ [ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] A conclusão que quero chegar, é que a forma de ordenar um array numa matriz no R é diferente da ordem de ordenar noutras linguagens, neste caso no Python, certo? Link to comment Share on other sites More sharing options...
M6 Posted May 27 Report Share Posted May 27 Não há qualquer ordenação em nenhum dos dois exemplos. Pegas num vetor com 20 inteiros e usa-lo como input para criares uma matriz. Ora, não dando mais nenhuma indicação sobre o posicionamento dos elementos, o R agarra e começa a atribuir os valores por coluna e o Python fá-lo por linha. Se vieres a documentação do R, podes ter a mesma atribuição que em Python (por linha), quando passas o parâmetro byrow = TRUE. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now