【发布时间】:2015-03-13 14:58:33
【问题描述】:
我想从 DataFrame 中选择某些行并从中应用 lambda 的结果,但我无法正确分配它,所有其他列都变为 NaN 或 DataFrame 根本没有改变(我相信这一点与 DataFrame 返回副本有关,请阅读该警告)
这是我的数据框:
id type value
--------------------------------------------
1 1 "Store Name 1"
2 2 "Store Name 2"
3 3 123
它的要点,我想选择 "type" == [1,2] 并在 value 列上运行 lambda 函数并将其设置为返回值 这是我的尝试:
p1['value'] = p1[p1['type'].isin([1,2])]['value'].apply(
lambda v: Store.objects.get(name=v).id
)
这为 [1,2] 类型设置了值,但不幸的是,它还将所有其他值设置为 NaN。
最好的方法是什么?
【问题讨论】: