当定义的掩码为真时如何更改特定列值?
How to change particular column value when defined mask is true?
我有一个数据框,其中包含这些列名
- 'team1',
- 'team2',
- 'city',
- 'date'.
我想做的是在满足特定条件(我使用掩码定义)时将 'city' 的值分配为 'dubai'。
这正是我正在做的事情:
matches[((matches['team1']=='mi') & (matches['team2']=='rcb') & (matches['date']=='2014-04-19')),'city']='Dubai'
当满足上述所有条件时,我想将 'city'(现在为空)中的值更改为 'Dubai'
出现的问题:
'Series' objects are mutable, thus they cannot be hashed
我该怎么做?
括号 ([]
) 表示法访问 python 对象的 __getitem__
方法(如果它定义了方法)。对于 pd.DataFrame
对象,您可以通过方括号 df[array_like_object]
传递类似对象的数组,它会执行以下操作之一
可能性1
# returns a copy of df with columns ['col1', 'col2']
df[['col1', 'col2']]
可能性2
# returns a slice of which rows have corresponding trues in the mask
df[boolean_mask]
跳过其他可能性
你有一个boolean_mask
((matches['team1']=='mi') &
(matches['team2']=='rcb') &
(matches['date']=='2014-04-19'))
还有一个column
'city'
在这种情况下,它非常适合 loc
,它可以完全处理
根据@JohnGalt
matches.loc[
((matches['team1']=='mi') &
(matches['team2']=='rcb') &
(matches['date']=='2014-04-19')),
'city'
] = 'Dubai'
我有一个数据框,其中包含这些列名
- 'team1',
- 'team2',
- 'city',
- 'date'.
我想做的是在满足特定条件(我使用掩码定义)时将 'city' 的值分配为 'dubai'。
这正是我正在做的事情:
matches[((matches['team1']=='mi') & (matches['team2']=='rcb') & (matches['date']=='2014-04-19')),'city']='Dubai'
当满足上述所有条件时,我想将 'city'(现在为空)中的值更改为 'Dubai'
出现的问题:
'Series' objects are mutable, thus they cannot be hashed
我该怎么做?
括号 ([]
) 表示法访问 python 对象的 __getitem__
方法(如果它定义了方法)。对于 pd.DataFrame
对象,您可以通过方括号 df[array_like_object]
传递类似对象的数组,它会执行以下操作之一
可能性1
# returns a copy of df with columns ['col1', 'col2']
df[['col1', 'col2']]
可能性2
# returns a slice of which rows have corresponding trues in the mask
df[boolean_mask]
跳过其他可能性
你有一个boolean_mask
((matches['team1']=='mi') &
(matches['team2']=='rcb') &
(matches['date']=='2014-04-19'))
还有一个column
'city'
在这种情况下,它非常适合 loc
,它可以完全处理
根据@JohnGalt
matches.loc[
((matches['team1']=='mi') &
(matches['team2']=='rcb') &
(matches['date']=='2014-04-19')),
'city'
] = 'Dubai'