gpt4 book ai didi

python - 将校正列添加到数据框

转载 作者:行者123 更新时间:2023-12-04 02:30:54 25 4
gpt4 key购买 nike

我有一个 pandas 数据框,我使用 df = pd.read_csv("data.csv") 从 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

编辑:我得到了两个很好的答案并决定使用 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()

最佳答案

看起来您想在 datelocation 列上连接两个 DataFrame。之后,通过添加 value1value 列(最后删除包含更正的列)来应用更正是一件简单的事情。

# Join on the date and location columns.
df_corrected = pd.merge(df, df_corr, on=['date', 'location'], how='left')

# Apply the correction by adding the columns.
df_corrected.value1 = df_corrected.value1 + df_corrected.value

# Drop the correction column.
df_corrected.drop(columns='value', inplace=True)

关于python - 将校正列添加到数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64200427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com