Python 3.x Dataframe:创建一个新列,并基于两个不同的列在匹配行中插入一个值

Python 3.x Dataframe:创建一个新列,并基于两个不同的列在匹配行中插入一个值,python-3.x,pandas,Python 3.x,Pandas,我有一个pandas数据帧(比如user_df),有3列{“user_ID”、“transaction_ID”、“location”}。我想创建一个新列“Amount”,并在与“User_ID”和“location”列匹配的行中输入一个值。我该怎么做 User_id transaction_id location 0 User1 X1 0 1 User2 X1 0 2 User3

我有一个pandas数据帧(比如user_df),有3列{“user_ID”、“transaction_ID”、“location”}。我想创建一个新列“Amount”,并在与“User_ID”和“location”列匹配的行中输入一个值。我该怎么做

  User_id transaction_id  location
0   User1             X1         0
1   User2             X1         0
2   User3             X1         2
3   User4             X2         1
4   User5             X2         2
5   User6             X2         1
6   User7             X3         2
7   User8             X3         2 

可能您可以尝试将
.loc
&
一起用于两列,如下所示:

user_df.loc[(user_df['User_id']== 'User1') & (user_df['location']==0), 'Amount'] = 100

创建一列“金额”

user_df['Amount']=0


user\u-df[(user\u-df['user\u-id]='xxxx')和(user\u-df['transaction\u-id']='yyyy')]['amount']='amount\u-value'
对于包含
User1
和位置为“0”的列,您将有
指定的\u-amount
,对于其他单元格,您将有0

df['Amount'] = np.where((user_df['User_id']== 'User1') & (user_df['location']==0), specified_amount, 0)

我已经添加了示例数据。但是我不明白我们为什么要在这里用一个小组?我想知道我们是否可以使用iloc或其他东西,但两次。。。每列一次:用户id和位置?基本上,我想在这个数据框中插入user_id=xxxx和location=yyyyy,这可能是我误解的,但我仍然不确定“Amount”值应该是多少。例如,您希望在第一行中显示什么,或者这是来自其他数据帧吗?您是否尝试使用
loc
?类似于
user_-df.loc[(user_-df['user_-id']='User1')&(user_-df['location']==0),'Amount']=100
我尝试了这个方法,得到了以下错误:只能比较相同标签的系列对象我不确定出了什么问题,对样品有用吗?谢谢。你能看看我的另一个问题吗: