简体   繁体   中英

Appending values from one column to another in pandas

Hi all I'm doing data cleanup, and I'm facing a bit of an obstacle. I have multiple dataframes that look like this:

df1
      WL       WM      WH        WP  
0    NaN      NaN     Sea       NaN
1     low    medium   high   premium
2     26       26      15        14
3     32       32      18        29 
4     41       41      19        42
5     apple    dog     fur      napkins          
6     orange   cat     tesla    earphone
7     mango    rat     tobias   controller

I am trying to combine the WL and WM column such that the outcome looks like this:

df1
      WM      WH        WP  
0     NaN     NaN       NaN
1    medium   high   premium
2     26      15        14
3     32      18        29 
4     41      19        42
5     dog     fur      napkins          
6     cat     tesla    earphone
7     rat     tobias   controller
8     apple
9     orange
10    mango

My initial attempt was to slice the WL column and append that to the WM column, however that has not yielded a correct output.

for num in range(len(df)):
    low = df.loc[:, df.isin(['WarrantyLow']).any()]
    low = low[5:]
    medium = df.loc[:, df.isin(['WarrantyMedium']).any()]
    medium.append(low)
  1. df.append to combine WM and WL . Call df.reset_index to reset the index for the next concatenation

  2. pd.concat(..., ignore_index=True, ...) combines result of (1) with rest of the dataframe, ignoring the index


In [400]: pd.concat([df1['WM'].append(df1['WL'].iloc[5:]).reset_index(drop=True), \
                    df1.iloc[:, 2:]], ignore_index=True, axis=1).fillna('')\
              .rename(columns=dict(enumerate(['WM', 'WH', 'WP'])))
Out[400]: 
        WM      WH          WP
0              Sea            
1   medium    high     premium
2       26      15          14
3       32      18          29
4       41      19          42
5      dog     fur     napkins
6      cat   tesla    earphone
7      rat  tobias  controller
8    apple                    
9   orange                    
10   mango

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM