I need to add a new column in my dataframe based in a condition from column 3. I receive the error: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all() Much appreciated any help! My file is as follows:
2017;Jan;TURKRETAIL;7000007;[ICP None];ClosingBal_Input;Cost;Retail;LocalGAAPInput;C; 14,947.00
2017;Jan;TURKRETAIL;5103001;[ICP None];ClosingBal_Input;BS_Input;Retail;LocalGAAPInput;C; 90,798.00
2017;Jan;TURKRETAIL;7000002;[ICP None];ClosingBal_Input;BS_Input;Retail;LocalGAAPInput;D; 8,500.00
2017;Jan;TURKRETAIL;2769601;[ICP None];NOPRODUCT;Operations;0;LocalGAAPInput;D; 684.00
And the Code:
import pandas as pd
file_to_open=("C:\\Users\\yannis\\py_script\\py2\\tst1.txt")
file_output=("C:\\Users\\yannis\\py_script\\py2\\tst2.txt")
df = pd.read_csv(file_to_open,sep=";",encoding="utf8",header=None)
df[3] = df[3].astype(str).str.strip()
def f(self):
if df[3].str.startswith('2',na=False):
val = 'Mvmts_NetIncome'
elif df[3].str.startswith('5',na=False):
val = 'Other'
return val
df[11] = df.apply(f,axis=1)
df.to_csv (file_output,sep=";",encoding="utf8",header=None)
print(df)