我有兩個數據幀 - df1 (800k rows) and df2 (3 rows).
比較dataframes之間的值,並返回相應的值
如果df1_A
值df2_A and df2_B
之間的df2_C
值應返回到df1_C
。
for index1, row1 in df1.iterrows():
for index2, row2 in df2.iterrows():
if (row1['df1_A'] >= row2['df2_A']) & (row1['df1_A'] <= row2['df2_B']):
row1['df1_C'] = row2['df2_C']
寫這個最簡單和可讀的方式是使用兩個for循環,但是,因爲它已經繞一圈240萬次,我的程序的性能降低。有沒有更好的方法來完成我的任務。
向我們展示你的循環代碼。我不知道df2_C的值應該返回給df1_C **,這意味着當你說他們有不同的長度時。 –
添加了代碼。這是我與我在一起的邏輯,但由於它必須迭代的循環次數而感到困惑。 –