【发布时间】:2016-05-17 09:54:57
【问题描述】:
假设我有两个数据框:
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)
现在我想基于i 加入df2 和df1。
df['new_col'] = df2['one'][i]
但我收到上述错误。解决此问题的一种方法是将i 直接添加到df1,并在df2 中创建一个名为i 的列来表示index,然后执行merge,但这似乎非常低效。有没有更好的方法来做到这一点?
我知道有几个问题的标题相同,但没有一个对我的案例有任何帮助。
【问题讨论】:
-
你期待什么结果?