Home > Net >  Pandas reorder raw content
Pandas reorder raw content

Time:02-04

I do have the following Excel-File

Which I've converted it to DataFrame and dropped 2 columns using below code:

df = pd.read_excel(self.file)
df.drop(['Name', 'Scopus ID'], axis=1, inplace=True)

Now, My target is to switch all names orders within the df.

For example,

the first name is Adedokun, Babatunde Olubayo

which i would like to convert it to Babatunde Olubayo Adedokun

how to do that for the entire df whatever name is it?

CodePudding user response:

Split the name and reconcat them.

import pandas as pd

data = {'Name': ['Adedokun, Babatunde Olubayo', "Uwizeye, Dieudonné"]}
df = pd.DataFrame(data)

def swap_name(name):
    name = name.split(', ')
    return name[1]   ' '   name[0]

df['Name'] = df['Name'].apply(swap_name)
df

Output:

>         Name
>     0   Babatunde Olubayo Adedokun
>     1   Dieudonné Uwizeye

CodePudding user response:

Let's assume you want to do the operation on "Other Names 1":

df.loc[:, "Other Names1"] = df["Other Names1"].str.split(",").apply(lambda row: " ".join(row))

CodePudding user response:

You can use str accessor:

df['Name'] = df['Name'].str.split(', ').str[::-1].str.join(' ')
print(df)

# Output
                         Name
0  Babatunde Olubayo Adedokun
1           Dieudonné Uwizeye

CodePudding user response:

Did you consider using pandas.DataFrame.reindex()?

  •  Tags:  
  • Related