У меня есть pandas dataframe, как показано ниже:
In [1]: import pandas as pd
In [2]: df = pd.DataFrame([[1,2],[3,4],[5,6]], columns=['a','b'])
In [3]: print df
Out [3]:
a b
0 1 2
1 3 4
2 5 6
Теперь я хочу добавить новый столбец 'c' со значением по умолчанию в качестве словаря.Полученный фрейм данных должен выглядеть следующим образом:
a b c
0 1 2 {1: 2, 3: 4}
1 3 4 {1: 2, 3: 4}
2 5 6 {1: 2, 3: 4}
Я пробовал следующее:
df.at[:, 'c'] = {1: 2, 3: 4}
ValueError: Length of values does not match length of index
и
df['c'] = {1: 2, 3: 4}
ValueError: Must have equal len keys and value when setting with an iterable
Этот работает для меня
df['c'] = df.apply(lambda x: {1:2, 3:4}, axis=1)
но выглядит как грязный подход.Есть ли более чистый способ сделать это?