Itera peste dataframe cu condiții

0

Problema

Inițial am două dataframe:

Dataframe O:

  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

Aș dori să fie în măsură să se alăture două dataframes într-unul singur atunci când starea de "Column1" este îndeplinită, în afară de a fi capabil de a elimina repetate rânduri și număra de câte ori acestea sunt repetate:

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

As aprecia daca m-ati ajuta, deoarece eu nu știu foarte bine cum să o facă. Multumesc anticipat

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

Cel mai bun răspuns

1

Este aceasta ceea ce vrei?

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

Dacă a fost ceea ce am vrut, o astfel de întrebare dacă, în plus față de adăugarea de o singură coloană "ore" am vrut să adăugați două coloane. pune un alt exemplu, o coloană identice la ore, dar a sunat hours2
gumase

am încercat să rezum toate elemnts de o coloană și, de asemenea, să exportați noi dataframe "df.un" să exceleze, dar eu nu pot. Cum as putea face?
gumase

În alte limbi

Această pagină este în alte limbi

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