gpt4 book ai didi

python - 合并两个 DataFrame

转载 作者:IT老高 更新时间:2023-10-28 20:50:19 26 4
gpt4 key购买 nike

我有 2 个想要合并的 DataFrames。我查看了文档并尝试执行以下操作,但对如何执行感到困惑。就像我说的我有 2 个 DataFrames:

df1:

id name type currency
0 BTA.S Applewood Hard GBp
1 VOD.S Softwood Soft GBp

df2:

id
BTA.S 301.221525
VOD.S 213.791400

我想回来:

      id        name  type currency       price
0 BTA.S Applewood Hard GBp 301.221525
1 VOD.S Softwood Soft GBp 213.791400

df2 中的价格列与 df1 合并的位置。 (只是为了让你知道在我完成时会有更多的木材类型。

我尝试了几种方法:

Result = df1.merge(df2[['*.S']], left_on='id', right_index=True) 

我遇到异常的地方:

ValueError: can not merge DataFrame with instance of type <class 'pandas.core.series.Series'>

Result = pd.concat([Df1, Df2], axis=1, ignore_index=True)

我得到异常的地方:

ValueError: labels ['type'] not contained in axis

但我有点糊涂了。

最佳答案

错误消息表明 df2 属于 pd.Series 类型。您需要将 df2 .to_frame() 转换为 .merge() 需要 pd.DataFrame() 输入(see docs):

df1.merge(df2[['*.S']].to_frame(), left_on='id', right_index=True)

虽然您可能也可以:

df1.merge(df2.to_frame(), left_on='id', right_index=True)

或者,您可以使用接受 pd.Seriespd.DataFrame.join()

关于python - 合并两个 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37968785/

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