鍵は、私が思うに、このすべてのデータをまとめたものです。あなたはこのように、パンダmerge
機能を使用するために反復して前後に行くことによって別にそれで動作しますが、はるかに簡単かつ堅牢なことができます。
import pandas as pd
data1 = {'user_id':[163], 'measurements':[2.0]}
data2 = {'user_id':[163], 'measurements':[0.0]}
data3 = {'weeks':[0.0], 'measurements':[2.0]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
df3 = pd.DataFrame(data3)
df = df1.merge(df2, on='user_id', how='outer', suffixes=['_df1', '_df2'])
df = df.merge(df3, left_on='measurements_df2', right_on='weeks',
how='outer', suffixes=['', '_df3'])
df['new_val'] = df['measurements_df1'] * df['measurements']
In [13]: df
Out[13]:
measurements_df1 user_id measurements_df2 measurements weeks new_val
0 2.0 163 0.0 2.0 0.0 4.0
を将来的にはあなたが仕事に私たちに再現可能な例を与えれば、それははるかに簡単です特にあなたが試したものにエラーを含めることができれば、このケースでは質問を適切に構造化する方法を理解するのが難しいということを知っています。 Wes McKinneyのbook from the creator of Pandasを強くお勧めします。