作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据框,其中有这些列名称
我想要做的是当满足某些条件时将“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'))
还有一个列
'city'
在这种情况下,它非常适合 loc
,它可以完全处理
根据@JohnGalt
matches.loc[
((matches['team1']=='mi') &
(matches['team2']=='rcb') &
(matches['date']=='2014-04-19')),
'city'
] = 'Dubai'
关于pandas - 当定义的掩码为真时如何更改特定列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41385265/
我是一名优秀的程序员,十分优秀!