csvファイルから読み取ったパンダのデータフレームがありますdf = pd.read_csv("data.csv")
。
date,location,value1,value2
2020-01-01,place1,1,2
2020-01-02,place2,5,8
2020-01-03,place2,2,9
修正されたデータフレームもあります df_corr = pd.read_csv("corrections .csv")
date,location,value
2020-01-02,place2,-1
2020-01-03,place2,2
日付と場所が一致する場合にこれらの修正を適用して、以下を取得するにはどうすればよいですか?
date,location,value1,value2
2020-01-01,place1,1,2
2020-01-02,place2,4,8
2020-01-03,place2,4,9
編集:私は2つの良い答えを得て、と行くことにしましたset_index()
。これが私が「非破壊的に」それをした方法です。
df = pd.read_csv("data.csv")
df_corr = pd.read_csv("corr.csv")
idx = ['date', 'location']
df_corrected = df.set_index(idx).add(
df_corr.set_index(idx).rename(
columns={"value": "value1"}), fill_value=0
).astype(int).reset_index()
両方のデータフレームのインデックスとして日付と場所を設定し、2つとfillnaを追加します
df.set_index(['date','location'], inplace=True)
df1.set_index(['date','location'], inplace=True)
df['value1']=(df['value1']+df1['value']).fillna(df['value1'])
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加