I have problem with speed of my algorithm, is too slow. I have a big dataframe and wanna create columns depends on the name and value in other. I am looking for a solution maybe in Pandas. Before running I don't know the size of the future columns. Here is a simple schema.
"column"<==>"value"<br>"column"<==> "value"<br>...
my data frame
id | params |
---|-----------------
0 |currency<=>PLN<br>price<=>72.14<br>city<==>Berlin
---|-----------------
1 |price<=>90<br>area<=>72.14<br>city<==>San Francisco<br>rooms<==>2<br>is_Free<==>1
---|-----------------
And i would like to have something like this
id | price | currency | city | rooms | is_Free| area|
---|------ |----------|--------------|-------|--------|------
0| 72.14 | PLN | Berlin | NaN | NaN | NaN|
---|-------|----------|--------------|-------|--------|------
1| 90 | NaN | San Francisco| 2 | 1 | 90 |
My solution:
def add_parameters(df):
for i,row in df.iterrows():
parameters_list = row.params.split("<br>")
for parameter in parameters_list:
elem_list = parameter.split("<=>")
if elem_list[0] and elem_list[1] != '':
df.loc[i, elem_list[0]] = elem_list[1]
return df
Thanks