我正在尝试修改一个数据框中的一列。我有两列,分别命名为“人口”和“普查”。我有数百万的数据,我只需要修改那些“人口〈普查”。这里是一个非常精简的数据框。
dataframe1 = pd.DataFrame()
Population = [34,2,1,4542,422,122,55,7876,45,23,1,3]
Census = [12,43,14,6545,63,123,654,33,123,12,99,88]
它是随机放置的,但它可以解释
我想修改列'普查'。这里我尝试。
a['Census'] = np.where[a['Population']<a['Census'], a['Population'], 1]
但是我得到一个TypeError:“function”对象不可订阅。
如何在同一列中进行修改?
2条答案
按热度按时间q9yhzks01#
在np之后,你应该使用'('而不是'['。这是一个函数,这就是为什么它不能像错误中提到的那样是可订阅的。你能检查一下这个吗?
2wnc66cl2#
实际上,
np.where
是一个函数,所以你必须使用np.where(...)
,或者,你也可以使用DataFrame.where
代替Numpy.where
:输入数据: