Python 根据条件添加列

Python 根据条件添加列,python,pandas,numpy,Python,Pandas,Numpy,我想知道如何在一个数据帧中添加一列并用另一个数据帧的值填充它。例如: df1: df2: Price Wood 1.02 最后我会得到: df1: 谢谢大家! 您可以使用 更新: 如果您的df2是熊猫系列请使用以下代码: df1['Price'] = df1['Materials'].map(df2) 你可以使用这个方法 更新: 如果您的df2是熊猫系列请使用以下代码: df1['Price'] = df1['Materials'].map(df2) 如果df2

我想知道如何在一个数据帧中添加一列并用另一个数据帧的值填充它。例如:

df1:

df2:

         Price
Wood      1.02
最后我会得到:

df1:

谢谢大家!

您可以使用

更新:

如果您的
df2
熊猫系列请使用以下代码:

df1['Price'] = df1['Materials'].map(df2)
你可以使用这个方法

更新:

如果您的
df2
熊猫系列请使用以下代码:

df1['Price'] = df1['Materials'].map(df2)

如果df2没有列名,我会更改什么?@hdatas,请检查UPDATE@hdatas,对于df1 its int(我正在检查代码的wtf)和float中的物料,
print(df1.dtypes)
print(df2.dtypes)
的输出是什么df2@hdatas,如果数字列中有任何NaN,如果df2没有列名,它的数据类型将被升级为
float64
,我会更改什么?@hdatas,请检查UPDATE@hdatas,对于df1 its int(我正在检查代码的wtf)和float中的物料,
print(df1.dtypes)
print(df2.dtypes)
的输出是什么df2@hdatas,如果数值列中有任何NaN,则其数据类型将升级为
float64
df1['Price'] = df1['Materials'].map(df2['Price'])
df1['Price'] = df1['Materials'].map(df2)