将值分配给列 pandas 数据框

assign values to columns pandas dataframe

我有一个临时数据帧 temp(如下所示)从一个较大的数据帧中切出。

如果能帮助我将每行的 item_price 值分配给与 model 关联的相关列,我将不胜感激如下图:

注意:原始和较大的数据框包含品牌、价格和型号,其中一些行具有相似的品牌名称但型号和价格不同,因此我将这些相似的记录切入 temp dataframe 并尝试将价格分配给与每条记录的 model 关联的相关列。

提前致谢!

如果我是你,我会删除 'Sedan'、'Sport' 和 'SUV' 列并使用 pivot
在您的情况下,您需要执行以下操作:
像这样创建一个名为 df1 的新 Dataframe:

df1 = df.pivot(index='brand', columns='model', values='item_price')

然后将原始 DataFrame df1 与 df1 连接起来。

df = df.join(df1, on='brand')

这将为您提供所需的结果。

您可以创建一个方法,returns 值基于这样的条件:

我使用 df 作为数据框的名称,您可以重命名为 temp

def set_item_price(model):
  if model == "Sedan":
    return 78.00

  return 0

df["item_price"] = [
  set_item_price(a) for a in df['model']
]