Koşullarla dataframe üzerinde yineleme

0

Soru

Başlangıçta iki veri çerçevem var:

Veri Çerçevesi 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

Veri Çerçevesi 2:

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

Tekrarlanan satırları ortadan kaldırabilmenin ve tekrarlandıkları zamanları sayabilmenin yanı sıra, "Sütun1" koşulu yerine getirildiğinde iki veri çerçevesini tek bir veri çerçevesine birleştirebilmek istiyorum:

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

Nasıl yapacağımı çok iyi bilmediğim için bana yardım ederseniz sevinirim. Şimdiden teşekkür ederiz

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

En iyi cevabı

1

Bu istediğiniz nedir?

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

İstediğim şey buysa, tek bir sütun "saat" eklemeye ek olarak iki sütun eklemek isteyip istemediğim gibi bir soru. başka bir örnek vermek gerekirse, saatlerle özdeş ancak saat2 olarak adlandırılan bir sütun
gumase

bir sütunun tüm öğelerini toplamaya ve ayrıca yeni veri çerçevesini dışa aktarmaya çalıştım "df.a " başarılı olmak için ama yapamam. Nasıl yapabilirdim?
gumase

Diğer dillerde

Bu sayfa diğer dillerde

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