दूसरे करने के लिए पांडा Dataframe में से एक पंक्ति से विशिष्ट स्तंभ कॉपी करने के लिए .to_numpy () का उपयोग करना

वोट
0

मैं इस तरह एक Dataframe है:

     UniqueID  CST  WEIGHT  VOLUME  PRODUCTIVITY
0  413-20012    3     123      12          1113
1  413-45365    1     889      75          6748
2  413-21165    8     554      13          4536
3  413-24354    1     387      35          7649
4  413-34658    2     121      88          2468
5  413-36889    4     105      76          3336
6  413-23457    5     355      42          7894
7  413-30089    5     146      10          9112
8  413-41158    5     453      91          4545
9  413-51015    9     654      66          2232

UniqueID के लिए बच्चे मैपिंग: और मैं माता-पिता का एक शब्दकोश है:

parent_child_dict = {
    '413-51015': '413-41158',
    '413-21165': '413-23457',
    '413-45365': '413-41158',
    '413-20012': '413-23457'
}

मैं क्या करने की जरूरत है Dataframe के माध्यम से लूप है, और 'माता-पिता' UniqueID पंक्ति, जहां Dataframe इस प्रकार दिखाई देगा जिसके परिणामस्वरूप से वजन, मात्रा, और उत्पादकता मूल्यों के साथ 'बच्चे' UniqueID पंक्ति के मूल्यों को बदल दें:

     UniqueID  CST  WEIGHT  VOLUME  PRODUCTIVITY
0  413-20012    3     355      42          7894
1  413-45365    1     453      91          4545
2  413-21165    8     355      42          7894
3  413-24354    1     387      35          7649
4  413-34658    2     121      88          2468
5  413-36889    4     105      76          3336
6  413-23457    5     355      42          7894
7  413-30089    5     146      10          9112
8  413-41158    5     453      91          4545
9  413-51015    9     453      91          4545

मैं कई संभव समाधान के साथ प्रयोग किया गया है, और मुसीबत मैं आ रही है इस तरह से कि UniqueID और 'बच्चे' पंक्ति के सीएसटी मूल्यों संरक्षित कर रहे हैं में प्रति सीमित है, लेकिन अन्य मूल्यों पर कॉपी कर रहे हैं।

निकटतम मैं मिल गया है शब्दकोश जहां प्रत्येक जोड़ी इस में खिलाया जाता है के माध्यम से एक पाश है:

df.loc[df['UniqueID'] == '413-51015'] = df.loc[df['UniqueID'] == '413-41158'].to_numpy()

यह अच्छी तरह से एक पंक्ति से दूसरे में सभी मूल्यों को बदलने के लिए लगता है।

या अपवाद पर किसी भी मदद के समग्र एक बेहतर समाधान अत्यंत उपयोगी होगा। धन्यवाद।

19/03/2020 को 22:01
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more