AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-8964393

Giampaolo Levorato's questions

Martin Hope
Giampaolo Levorato
Asked: 2024-11-12 03:39:46 +0800 CST

Contar elementos em uma linha e criar contador de colunas no pandas

  • 8

Criei o seguinte dataframe do pandas:

import pandas as pd

ds = {'col1' : ['A','A','B','C','C','D'],
      'col2' : ['A','B','C','D','D','A']}

df = pd.DataFrame(data=ds)

O dataframe se parece com isto:

print(df)

  col1 col2
0    A    A
1    A    B
2    B    C
3    C    D
4    C    D
5    D    A

Os valores possíveis em col1e col2são A, B, Ce D.

Preciso criar 4 novas colunas, chamadas:

  • countA:conta quantos Aestão em cada linha/registro
  • countB:conta quantos Bestão em cada linha/registro
  • countC:conta quantos Cestão em cada linha/registro
  • countD:conta quantos Destão em cada linha/registro

Então, a partir do exemplo acima, o dataframe resultante ficaria assim:

insira a descrição da imagem aqui

Alguém pode me ajudar, por favor?

python
  • 4 respostas
  • 49 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-11-01 20:40:42 +0800 CST

Crie uma partição aleatória dentro de um dataframe pandas e crie um campo que identifique as partições

  • 7

Criei o seguinte dataframe do pandas:

ds = {'col1':[1.0,2.1,2.2,3.1,41,5.2,5.0,6.1,7.1,10]}
df = pd.DataFrame(data=ds)

O dataframe se parece com isto:

print(df)

   col1
0   1.0
1   2.1
2   2.2
3   3.1
4  41.0
5   5.2
6   5.0
7   6.1
8   7.1
9  10.0

Preciso criar uma partição aleatória de 80% / 20% do conjunto de dados e também preciso criar um campo (chamado buildFlag) que mostra se um registro pertence à partição de 80% ( buildFlag = 1) ou pertence à partição de 20% ( buildFlag = 0).

Por exemplo, o dataframe resultante seria algo como:

   col1  buildFlag
0   1.0          1
1   2.1          1
2   2.2          1
3   3.1          0
4  41.0          1
5   5.2          0
6   5.0          1
7   6.1          1
8   7.1          1
9  10.0          1

Os buildFlagvalores são atribuídos aleatoriamente.

Alguém pode me ajudar, por favor?

python
  • 3 respostas
  • 43 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-10-04 22:47:44 +0800 CST

Aplicar dicionário pandas com condições gt/lt como chaves

  • 7

Criei o seguinte dataframe do pandas:

ds = {'col1':[1,2,2,3,4,5,5,6,7,8]}

df = pd.DataFrame(data=ds)

O dataframe se parece com isto:

print(df)

   col1
0     1
1     2
2     2
3     3
4     4
5     5
6     5
7     6
8     7
9     8

Criei então um novo campo, chamado newCol, que foi definido da seguinte forma:

def criteria(row):
    if((row['col1'] > 0) & (row['col1'] <= 2)):
        return "A"
    elif((row['col1'] > 2) & (row['col1'] <= 3)):
        return "B"
    else:
        return "C"
    
df['newCol'] = df.apply(criteria, axis=1)

O novo dataframe se parece com isto:

print(df)

   col1 newCol
0     1      A
1     2      A
2     2      A
3     3      B
4     4      C
5     5      C
6     5      C
7     6      C
8     7      C
9     8      C

Existe a possibilidade de criar um dicionário como este:

dict = {
        
        '0 <= 2' : "A",
        '2 <= 3' : "B",
        'Else' : "C"

        }

E então aplique-o ao dataframe:

df['newCol'] = df['col1'].map(dict)

?

Alguém pode me ajudar, por favor?

python
  • 1 respostas
  • 43 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-08-25 17:11:18 +0800 CST

Exportar resumo de modelos de estatísticas () para .png

  • 6

Eu treinei da glmseguinte forma:

    fitGlm = smf.glm( listOfInModelFeatures,
          family=sm.families.Binomial(),data=train, freq_weights = train['sampleWeight']).fit()

Os resultados parecem bons:

print(fitGlm.summary())

                 Generalized Linear Model Regression Results                  
==============================================================================
Dep. Variable:                 Target   No. Observations:              1065046
Model:                            GLM   Df Residuals:               4361437.81
Model Family:                Binomial   Df Model:                            7
Link Function:                  Logit   Scale:                          1.0000
Method:                          IRLS   Log-Likelihood:            -6.0368e+05
Date:                Sun, 25 Aug 2024   Deviance:                   1.2074e+06
Time:                        09:03:54   Pearson chi2:                 4.12e+06
No. Iterations:                     8   Pseudo R-squ. (CS):             0.1716
Covariance Type:            nonrobust                                         
===========================================================================================
                              coef    std err          z      P>|z|      [0.025      0.975]
-------------------------------------------------------------------------------------------
Intercept                   3.2530      0.003   1074.036      0.000       3.247       3.259
feat1                       0.6477      0.004    176.500      0.000       0.641       0.655
feat2                       0.3939      0.006     71.224      0.000       0.383       0.405
feat3                       0.1990      0.007     28.294      0.000       0.185       0.213
feat4                       0.4932      0.009     54.614      0.000       0.476       0.511
feat5                       0.4477      0.005     90.323      0.000       0.438       0.457
feat6                       0.3031      0.005     57.572      0.000       0.293       0.313
feat7                       0.3711      0.004     87.419      0.000       0.363       0.379
===========================================================================================

Tentei então exportar summary()para .pngcomo sugerido aqui:

Python: Como salvar os resultados do statsmodels como arquivo de imagem?

Então, eu escrevi este código:

    fig, ax = plt.subplots(figsize=(16, 8))
    summary = []
    fitGlm.summary(print_fn=lambda x: summary.append(x))
    summary = '\n'.join(summary)
    ax.text(0.01, 0.05, summary, fontfamily='monospace', fontsize=12)
    ax.axis('off')
    plt.tight_layout()
    plt.savefig('output.png', dpi=300, bbox_inches='tight')

Mas eu recebo este erro:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[57], line 57
     55 fig, ax = plt.subplots(figsize=(16, 8))
     56 summary = []
---> 57 fitGlm.summary(print_fn=lambda x: summary.append(x))
     58 summary = '\n'.join(summary)
     59 ax.text(0.01, 0.05, summary, fontfamily='monospace', fontsize=12)

TypeError: GLMResults.summary() got an unexpected keyword argument 'print_fn'

Parece que print_fnnão é reconhecido pelos modelos de estatísticas?

Alguém pode me ajudar, por favor?

python
  • 1 respostas
  • 14 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-08-23 20:32:16 +0800 CST

Como classificar um dataframe do pandas por uma coluna binned

  • 5

Eu criei o seguinte dataframe do pandas:

import pandas as pd
ds = {'col1' : ['(-9999999, 550.0]','(13700.0, 23700.0]','(23700.0, 414580.0]','(4000.0, 8000.0]','(414580.0, 9999999]','(550.0, 4000.0]','(8000.0, 13700.0]'],                                                                                                                             
      'col2' : [905317.3,   606156.5,   586349.6,   665779.1,   0,  803824.4,   628475.2]}

df = pd.DataFrame(data=ds)

O quadro de dados fica assim:

print(df)
                  col1      col2
0    (-9999999, 550.0]  905317.3
1   (13700.0, 23700.0]  606156.5
2  (23700.0, 414580.0]  586349.6
3     (4000.0, 8000.0]  665779.1
4  (414580.0, 9999999]       0.0
5      (550.0, 4000.0]  803824.4
6    (8000.0, 13700.0]  628475.2

Preciso classificar o dataframe por coluna col1em ordem crescente. O dataframe resultante ficaria assim:

                  col1      col2
0    (-9999999, 550.0]  905317.3
1      (550.0, 4000.0]  803824.4
2     (4000.0, 8000.0]  665779.1
3    (8000.0, 13700.0]  628475.2
4   (13700.0, 23700.0]  606156.5
5  (23700.0, 414580.0]  586349.6
6  (414580.0, 9999999]       0.0

Alguém pode me ajudar, por favor?

pandas
  • 2 respostas
  • 39 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-08-21 20:30:15 +0800 CST

Como somar colunas de pandas no mesmo registro para colunas que começam com a mesma palavra

  • 5

Eu criei o seguinte dataframe do pandas:

ds = {'col1' : [1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,4,4,4,4],
      'feature1' : [1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,4,4,4,4],
      'col2' : [12,3,4,5,4,3,2,3,4,6,7,8,3,3,65,4,3,2,32,1,2,3,4,5,32],
      
      }

df = pd.DataFrame(data=ds)

O quadro de dados fica assim:

print(df)
    col1  feature1  col2
0      1         1    12
1      1         1     3
2      1         1     4
3      1         1     5
4      1         1     4
5      1         1     3
6      1         1     2
7      2         2     3
8      2         2     4
9      2         2     6
10     2         2     7
11     3         3     8
12     3         3     3
13     3         3     3
14     3         3    65
15     3         3     4
16     4         4     3
17     4         4     2
18     4         4    32
19     4         4     1
20     4         4     2
21     4         4     3
22     4         4     4
23     4         4     5
24     4         4    32

Preciso criar uma nova coluna (chamada sumOfCols) que é a soma dos valores contidos nas colunas cujos nomes começam com col(no exemplo acima a coluna feature1não seria incluída no cálculo).

O dataframe resultante ficaria assim:

insira a descrição da imagem aqui

Alguém pode me ajudar, por favor? Desde já, obrigado.

pandas
  • 3 respostas
  • 30 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-08-21 18:35:55 +0800 CST

Como obter coeficientes do modelo glm em python

  • 5

Treinei o seguinte modelo glm em Python:

fitGlm = smf.glm( listOfInModelFeatures,
              family=sm.families.Binomial(),data=train, freq_weights = train['model_weight']).fit()

Em seguida, produzi o resumo do modelo treinado:

    print(fitGlm.summary())

que fornece o seguinte relatório:

                 Generalized Linear Model Regression Results                  
==============================================================================
Dep. Variable:                 Target   No. Observations:              1065046
Model:                            GLM   Df Residuals:               4361436.81
Model Family:                Binomial   Df Model:                            8
Link Function:                  Logit   Scale:                          1.0000
Method:                          IRLS   Log-Likelihood:            -6.1870e+05
Date:                Wed, 21 Aug 2024   Deviance:                   1.2374e+06
Time:                        10:27:37   Pearson chi2:                 4.01e+06
No. Iterations:                     8   Pseudo R-squ. (CS):             0.1479
Covariance Type:            nonrobust                                         
===============================================================================
                  coef    std err          z      P>|z|      [0.025      0.975]
-------------------------------------------------------------------------------
Intercept       3.2619      0.003   1126.728      0.000       3.256       3.268
e1_a_11_sp      0.9318      0.004    256.254      0.000       0.925       0.939
sp_g_37         0.5850      0.006    102.522      0.000       0.574       0.596
sp_f3_35        0.6510      0.005    135.114      0.000       0.642       0.660
e1_a_07_sp      0.4930      0.006     79.698      0.000       0.481       0.505
e1_e_02_sp      0.9956      0.008    120.253      0.000       0.979       1.012
e1_b_03_sp      0.7493      0.013     56.539      0.000       0.723       0.775
e2_k_02_spa     0.4996      0.014     34.512      0.000       0.471       0.528
ea5_s_01_sp     0.3305      0.008     41.524      0.000       0.315       0.346
===============================================================================

Pergunta : como obtenho a lista de coeficientes para cada recurso (incluindo a interceptação)? Quero dizer, como consigo algo assim?

[3.2619,0.9318,0.5850,0.6510,0.4930,0.9956,0.7493,0.4996,0.3305]

Desde já, obrigado.

python
  • 2 respostas
  • 14 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-08-01 18:35:25 +0800 CST

Como duplicar registros no dataframe do pandas com base nos valores das colunas

  • 5

Eu criei um dataframe do pandas da seguinte maneira:

ds = {'col1' : ["A","B"], 'probability' : [0.3, 0.6]}
df = pd.DataFrame(data=ds)

O quadro de dados fica assim:

print(df)   
  col1  probability
0    A   0.3
1    B   0.6

Preciso criar um novo dataframe que duplique cada linha e atribua ao registro duplicado uma probabilidade necessária para somar 1.

Do exemplo acima:

  • Preciso duplicar o registro 0 de modo que A obtenha uma probabilidade de 0,3 (para manter o que já está lá) e o registro duplicado obtenha uma probabilidade de 0,7 (0,3 + 0,7 = 1)
  • Preciso duplicar o registro 1 de modo que B obtenha uma probabilidade de 0,6 (para manter o que já está lá) e o registro duplicado obtenha uma probabilidade de 0,4 (0,6 + 0,4 = 1)

O dataframe resultante fica assim:

  col1  probability
0    A          0.3
1    A          0.7
2    B          0.6
3    B          0.4

Alguém pode me ajudar a fazer isso em pandas, por favor?

pandas
  • 2 respostas
  • 34 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-06-19 19:46:36 +0800 CST

Verifique o seguinte elemento na lista no dataframe do pandas

  • 9

Eu criei o seguinte dataframe do pandas

import pandas as pd
import numpy as np

ds = {
      'col1' : 
          [
              ['U', 'U', 'U', 'U', 'U', 1, 0, 0, 0, 'U','U', None],
              [6, 5, 4, 3, 2],
              [0, 0, 0, 'U', 'U'],
              [0, 1, 'U', 'U', 'U'],
              [0, 'U', 'U', 'U', None]
              ]
      }

df = pd.DataFrame(data=ds)

O quadro de dados fica assim:

print(df)
                                      col1
0  [U, U, U, U, U, 1, 0, 0, 0, U, U, None]
1                          [6, 5, 4, 3, 2]
2                          [0, 0, 0, U, U]
3                          [0, 1, U, U, U]
4                       [0, U, U, U, None]

Para cada linha em col1, preciso verificar se cada elemento igual a Una lista é seguido (da esquerda para a direita) por qualquer valor além de Ue None: nesse caso eu criaria uma nova coluna (chamada iCount) com valor 1. Caso contrário, 0.

No exemplo acima, o dataframe resultante ficaria assim:

                                      col1 iCount
0  [U, U, U, U, U, 1, 0, 0, 0, U, U, None]      1
1                          [6, 5, 4, 3, 2]      0
2                          [0, 0, 0, U, U]      0
3                          [0, 1, U, U, U]      0
4                       [0, U, U, U, None]      0

Somente na primeira linha o valor Ué seguido por um valor que não é Unem None(é 1)

Eu tentei este código:

col5 = np.array(df['col1'])

for i in range(len(df)):
    iCount = 0

    for j in range(len(col5[i])-1):
        
        print(col5[i][j])
        
        if((col5[i][j] == "U") & ((col5[i][j+1] != None) & (col5[i][j+1] != "U"))):
            
            iCount += 1
            
        else:
            iCount = iCount
    

Mas recebo este dataframe (errado):

                                      col1  iCount
0  [U, U, U, U, U, 1, 0, 0, 0, U, U, None]       0
1                          [6, 5, 4, 3, 2]       0
2                          [0, 0, 0, U, U]       0
3                          [0, 1, U, U, U]       0
4                       [0, U, U, U, None]       0

Alguém pode me ajudar por favor?

python
  • 5 respostas
  • 51 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-06-05 19:18:36 +0800 CST

Como concatenar verticalmente centenas de arquivos .png em python

  • 5

Tenho cerca de 250 arquivos .png em um diretório.

Preciso concatená-los verticalmente do python.

Aqui está o código que tenho até agora.

list_im = []  <- this is the list of .png files <- How do I populate it if I have 250 files in one directory?
imgs    = [ Image.open(i) for i in list_im ]
# pick the image which is the smallest, and resize the others to match it (can be arbitrary image shape here)
min_shape = sorted( [(np.sum(i.size), i.size ) for i in imgs])[0][1]
imgs_comb = np.hstack([i.resize(min_shape) for i in imgs])


# for a vertical stacking it is simple: use vstack
imgs_comb = np.vstack([i.resize(min_shape) for i in imgs])
imgs_comb = Image.fromarray( imgs_comb)
imgs_comb.save('concatenatedPNGFiles.png' )

Como preencho list_imcom 250 arquivos .png em python?

python
  • 1 respostas
  • 34 Views
Martin Hope
Giampaolo Levorato
Asked: 2024-06-02 22:20:32 +0800 CST

Obtenha o primeiro elemento diferente de zero em pandas groupby

  • 5

Eu criei o seguinte dataframe do pandas:

import pandas as pd

ds = {'cycle' : [1,1,1,1,2,2,2,2], 'values' : [0,0,-1,1,2,0,0,1]}

df = pd.DataFrame(data=ds)

O quadro de dados fica assim:

df

  cycle values
0   1   0
1   1   0
2   1   -1
3   1   1
4   2   2
5   2   0
6   2   0
7   2   1

Preciso criar um novo dataframe (chamado ds) que contenha apenas o primeiro registro com valor diferente de zero para as colunas valuesde cada um cycle.

Eu acho que isso pode ser feito com algo em torno do df.groupby(['cycle'])código.

Portanto, o dataframe resultante ficaria assim:

   cycle    values
0   1        -1
1   2         2
pandas
  • 2 respostas
  • 27 Views
Martin Hope
Giampaolo Levorato
Asked: 2023-09-08 20:27:52 +0800 CST

Ignorar valor inválido na coluna dataframe do pandas

  • 6

Eu criei o seguinte dataframe do pandas:

import pandas as pd
import numpy as np     

ds = {'col1' : 
['1489900119000',
'้้คค,1']
}

df = pd.DataFrame(data=ds)

que se parece com isso:

            col1
0  1489900119000
1         ้้คค,1

Estou tentando construir uma nova coluna (chamada col2) que contém os valores col1organizados como lista. Daí o código:

df['col2']  = [list(map(int, str(x))) for x in df.col1]

Como existe aquele valor inesperado/inválido na linha 1 ( คค,1), o código falha.

Existe alguma maneira de ignorar essa linha e preenchê-la com um valor padrão (por exemplo, [9,9])? Por exemplo, o dataframe resultante ficaria assim:

insira a descrição da imagem aqui

python
  • 1 respostas
  • 17 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve