【发布时间】:2021-01-24 03:33:32
【问题描述】:
有一个值列表
weather = ['cloudy', 'sunny']
我有一个带有旧列“天气”的数据框。我们切换到 2 个具有布尔值的新列,因此需要考虑所有旧列。
这是我现在的数据框:
[In]
data = [['cloudy', False, False], ['sunny', False, False]]
df = pd.DataFrame(data, columns=['old', 'cloudbool', 'sunbool'])
df
[Out]
old cloudbool sunbool
0 cloudy False False
1 sunny False False
期望的输出:
[In]
data = [['cloudy', True, False], ['sunny', False, True]]
df = pd.DataFrame(data, columns=['old', 'cloudbool', 'sunbool'])
[Out]
old cloudbool sunbool
0 cloudy True False
1 sunny False True
我知道我可以做类似下面的事情,但我的“天气类型”列表比 2 长得多。
df.loc[df['old'] == 'cloudy', ['cloudbool']] = True
我希望我正确地传达了这一点。 谢谢
【问题讨论】:
标签: python pandas list boolean