Скажем, у меня есть два dataframes:ValueError: не может проиндексировать от дубликата оси
import string
import pandas as pd
d = {'one': pd.Series(range(26), index = list(string.ascii_lowercase)),
'two': pd.Series([1., 2., 3., 4.], index = ['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
d2 = {'one': pd.Series(range(10), index = range(11, 21))}
df2 = pd.DataFrame(d2)
Теперь у меня есть список индексов:
np.random.seed(12)
i = np.random.choice(np.arange(11, 21), size = 26)
Теперь я хочу присоединиться к df2
с df1
на основе на i
.
df['new_col'] = df2['one'][i]
Но я получаю вышеупомянутую ошибку. Один из способов обойти это - добавить i
непосредственно в df1
и создать столбец i
в df2
для представления index
, а затем сделать merge
, но он кажется очень неэффективным. Есть лучший способ сделать это?
Я знаю, что есть несколько вопросов с одним и тем же названием, но ни у кого из них не было ничего полезного для моего дела.
Какой результат вы ожидаете? – Goyo