Python Forum

Full Version: How modify the DataFrame columns
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,
I have below DataFrame,
I want to add in "0th" row if the columns are STD, the modify the "0th" row as the:
original cell value +"STD:JPEG:"
and if the column is "Peak" then modify the cell value in "0th" row as:
original cell value +"Peak:JPEG:"
I use the below code, but it is adding multiple time. For example, STD is in three columns, the cell value is modifying as:
"CplSTD:JPEG:STD:JPEG:STD:JPEG:" but it should be: CplSTD:JPEG

My input data:
Name	Category	STD			        Peak	
Name	Category	Cpl	BNP	Regulator	Power	Voltage
HAJ	RT	44	6	12	45	34
LKO	SP	4	34	33	13	122
STD is merged for three columns, and Peak is merged for two columns.

import pandas as pd

df=pd.read_excel(r'D:\PythonCodes\jpeginput.xlsx')
df.rename( columns={'Unnamed: 3':'STD'}, inplace=True )
df.rename( columns={'Unnamed: 4':'STD'}, inplace=True )
df.rename( columns={'Unnamed: 3':'STD'}, inplace=True )
df.rename( columns={'Unnamed: 6':'Peak'}, inplace=True )

for i in range(len(list(df.columns))):
    if df.columns[i] == 'Name' or df.columns[i] == 'Category':
        print('skipped')
        print(df.columns[i])
    elif(df.columns[i] == 'STD'):
        df.loc[0,df.columns[i]] = df.loc[0,df.columns[i]]+"STD:JPEG:"
        print(df.columns[i])
    elif(df.columns[i] == 'Peak'):
        df.loc[0,df.columns[i]] = df.loc[0,df.columns[i]]+"Peak:JPEG:"
        print(df.columns[i])
    else:
        print('skipped')
        print(df.columns[i])


Not entirely sure what you're trying to do here, but something like this should work:

import pandas as pd
df = pd.DataFrame(columns=['Name','Category','STD'])
df = df.append({'Name': 'HAJ', 'Category': 'RT', 'STD': 'Cpl'}, ignore_index=True)
df
df.iloc[0]['STD'] = df.iloc[0]['STD'] + 'STD:JPEG'
df
If the column is STD, then I want to add in each cell (columns belongs to STD) of 0th row "The cell value + STD +JPEG"
If the column is Peak, then add to each cell (columns belongs to Peak) in 0th row "The cell value +Peak+JPEG"