【发布时间】:2016-01-13 20:16:44
【问题描述】:
我有 2 个超过 100 万行的数据集,我正在使用 pandas 对其进行分析(因此它们都是 pd.Dataframe 并注明 df1 和 df2)。我需要根据 df2 的值向 df1 添加一列。我使用了 python 列表,但速度非常慢。有什么更快的建议吗?
import pandas as pd, numpy as np
numObs = []
for line in np.array(df1):
numObs.append([num for i,num,exp in df2 if i==line[0]][0])
df1['NumObs'] = pd.Series(np.array(numObs),index = df1.index)
【问题讨论】:
-
你应该解释你的数据集是什么样的,以及你是如何添加这个 numobs(条件等)的。而不仅仅是代码。
-
看起来你所做的只是将
df2的第一列与df1的第一列进行比较,这是正确的吗?