python中有两个dateframe,第一个dateframe有一行多列,列索引是商品名称,第二个dateframe有多行两列,每行是不同的商品名称以及其对应的商品ID。现在想在第一个dateframe中,将每列的值变为商品ID
时间: 2023-02-09 11:50:13 浏览: 92
pandas.DataFrame的pivot()和unstack()实现行转列
在 Python 中,可以使用两个 DataFrame 对象的 merge 方法来实现这个目的。首先,将第二个 DataFrame 作为参数传入第一个 DataFrame 的 merge 方法,并指定商品名称作为连接键(即使用 "on" 参数指定商品名称列)。然后,使用 "left" 参数指定第一个 DataFrame 为左表,并使用 "right" 参数指定第二个 DataFrame 为右表。这样,就可以得到一个新的 DataFrame,其中包含第一个 DataFrame 的所有列和第二个 DataFrame 中的商品 ID 列。最后,可以使用新 DataFrame 的 rename 方法将每列的值更改为商品 ID。
下面是一个例子,假设第一个 DataFrame 名为 "df1",第二个 DataFrame 名为 "df2":
```
df1 = df1.merge(df2, on="商品名称", how="left", left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
df1 = df1.rename(columns={"商品ID": "商品名称"})
```
阅读全文