0
У меня есть этот код:как заменить значения в столбцах новых значений в пандах
def chgFormat(x):
newFormat = 0
if x[-1] == 'K':
if len(x)==1:newFormat=1000
else:newFormat = float(x[:-1])*1000
elif x[-1] == 'M':
newFormat = float(x[:-1]) * 100000
elif x[-1] == 'B':
newFormat = float(x[:-1]) * 1000000
elif x[-1] == 'H':
newFormat = float(x[:-1]) * 100
elif x[-1] == 'h':
newFormat = float(x[:-1]) * 100
else:
newFormat = float(x)
return newFormat
frame=pd.read_csv(folderpath+"/StormEvents_details-ftp_v1.0_d1951_c20160223.csv",index_col=None,encoding = "ISO-8859-1",header=0,low_memory=False)
frame['DAMAGE_PROPERTY'].fillna('0K',inplace=True)
frame['DAMAGE_PROPERTY'].apply(chgFormat)
Этот код преобразует запись данных, как 2K, 3K, 3H, 3B
в 2000.0, 3000.0, 300.0
и т.д.
То, что я хочу, этот код должен заменить колонку записи по значениям, вычисленным по значениям в письменной функции. Если я сделаю print(frame['DAMAGE_PROPERTY'])
после письменного кода, я по-прежнему вижу исходные значения.
Это было очень просто. Спасибо, что указали это ... – chinmaykelkar