Scorrere dataframe con condizioni

0

Domanda

Inizialmente ho due dataframe:

Dataframe A:

  Column1   Column2
0   X-5       H4
1   X-3       H4
2   X-4       H5
3   X-5       H5
4   X-5       H-3
5   X-3       H-3
6   X-3       H-3
7   X-4       H-4
8   X-4       H-5
9   X-3       H-4
10  X-5       H-3
11  X-3       H-3
12  X-5       H-5
13  X-5       H-3

Dataframe 2:

  Column1   Hours
0   X-5      12
1   X-4      14
2   X-3      10

Vorrei essere in grado di unire le due dataframes in un unico quando la condizione di "Colonna1" è incontrato, oltre ad essere in grado di eliminare le righe ripetute e contare le volte che si ripetono:

Column1 Column2 Repeat  Hours
0   H3    X-3      3    14
1   H-3   X-5      3    12
2   H-4   X-3      2    14
3   H-4   X-4      1    10
4   H-4   X-5      1    12
5   H-5   X-4      2    10
6   H-5   X-5      2    12

Le sarei grato se potesse aiutarmi dato che non so molto bene come fare. Grazie in anticipo

dataframe loops merge pandas
2021-11-23 22:17:10
1

Migliore risposta

1

E ' questo che vuoi?

a.Column2 = a.Column2.str.replace("H(\d)", "H-\\1", regex=True)
pd.merge(a, b, on="Column1").groupby(["Column2", "Column1"], as_index=False).agg(
    Repeat=("Hours", "size"), Hours=("Hours", "first")
)
#   Column2 Column1  Repeat  Hours
# 0     H-3     X-3       3     10
# 1     H-3     X-5       3     12
# 2     H-4     X-3       2     10
# 3     H-4     X-4       1     14
# 4     H-4     X-5       1     12
# 5     H-5     X-4       2     14
# 6     H-5     X-5       2     12
2021-11-23 22:29:34

Se era quello che volevo, una domanda, come se, inoltre, l'aggiunta di una singola colonna "ore" volevo aggiungere due colonne. mettere un altro esempio, una colonna identici per ore, ma chiamato hours2
gumase

ho cercato di riassumere tutti gli elementi di una colonna e anche per esportare il dataframe "df.un" in excel, ma non posso. Come potrei fare?
gumase

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................