पहली और आखिरी घटना के डुप्लिकेट मान

0

सवाल

मैं एक dataframe इस तरह

index    col1     col2    col3    col4
  0      11/20    11/26   abc     35
  1      11/21    11/24   xxx     30
  2      11/22    11/27   abc     20

यहाँ col3 एक ही मूल्य (दोहराया मूल्य के आधार पर). मैं sum() col4 से पंक्तियों के आधार पर col3 मूल्य.

इसलिए इस मामले में मैं क्या

df = df.groupby(['col3'])[['col4']].sum()

लेकिन इस दृष्टिकोण के साथ, मैं

index    col3    col4
  0      abc     55
  1      xxx     30

मैं चाहूँगा करने के लिए सक्षम होना करने के लिए रक्षा की पहली घटना दोहराया मूल्य के col1(11/20) और पिछले की घटना col2(11/27), तो अंतिम उत्पाद की तरह लग रहा है

index    col1     col2    col3    col4
  0      11/20    11/27   abc     55
  1      11/21    11/24   xxx     30

pandas python
2021-11-24 05:23:58
2

सबसे अच्छा जवाब

2

एक ही रास्ता का उपयोग कर pandas.DataFrame.groupby.agg:

new_df = df.groupby("col3", as_index=False).agg({"col1": "first",
                                                 "col2": "last",
                                                 "col4": "sum"})
print(new_df)

आउटपुट:

  col3   col1   col2  col4
0  abc  11/20  11/27    55
1  xxx  11/21  11/24    30
2021-11-24 05:27:44

परिवर्तित col1/col2 करने के लिए datetime का उपयोग कर और न्यूनतम/अधिकतम हो सकता है और अधिक मजबूत हो, तो हम हमेशा के लिए करना चाहते हैं "प्रथम" (जल्द से जल्द) की तारीख और "पिछले" (नवीनतम) तारीख. (फिर से इस पर निर्भर करता है के उपयोग के मामले में)
Henry Ecker
0

पंडों प्रदान करता है first और last aggregations.

2021-11-24 05:28:04

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

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

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में