import pandas as pd
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
def calculation(text):
return text*2
for idx, row in df.iterrows():
df.at[idx, 'col3'] = dict(cats=calculation(row['col1']))
df
Итак, как вы можете видеть из приведенного выше кода, я попробовал несколько разных вещей.
В основном я пытаюсь получить словарь в col3.
Однако, когдавы впервые запускаете новый фрейм данных - вы получаете
col1 col2 col3
0 1 3 cats
1 2 4 {'cats': 4}
Если вы снова запускаете цикл for для того же фрейма данных, вы получаете то, что я ищу, это
col1 col2 col3
0 1 3 {'cats': 2}
1 2 4 {'cats': 4}
Как мне перейти непосредственно к наличию словаря, чтобы начать без необходимости повторного запуска цикла?
Я пробовал другие способы, такие как df.loc и другие, но до сих пор не радуюсь.