У меня есть фрейм данных
ifa_num=[0.1,0.2,0.3,0.4,0.5]
ak_num=[0.6,0.7,0.8,0.9,0.11]
ch_dist=['if','ak','if','if','ak']
df=pd.DataFrame()
df['if_num']=ifa_num
df['ak_num']=ka_num
df['ch_dist']=ch_dist
dataframe_looks_like нажмите здесь, чтобы увидеть
Мне нужно вставить еще один столбец, а именно
- if_ak: который будет иметь номер из ifa_num, если его ch_dist равен 'if', иначе он возьмет число из ak_num
Результирующий фрейм данных должен выглядеть как
результирующий кадр данных после добавления столбцов if_ak
Я написал наивный код, используя для l oop Я не могу выяснить, как оптимизировать его, так как в данных растет для l oop станет неэффективно.
li=[]
for x in range(df.shape[0]):
if df.loc[x,'ch_dist']=='if':
li.append(df.loc[x,'if_num'])
else:
li.append(df.loc[x,'ak_num'])
df['if_ak']=li