【发布时间】:2021-10-13 10:07:34
【问题描述】:
我有下表的布尔值:
pd.DataFrame(data={'val1': [True, False, False, True],
'val2': [False, True, False, True],
'val3': [True, True, False, True],
'val4': [True, False, True, False],
'val5': [True, True, False, False],
'val6': [False, False, True, True]},
index=pd.Series([1, 2, 3, 4], name='index'))
| index | val1 | val2 | val3 | val4 | val5 | val6 |
|---|---|---|---|---|---|---|
| 1 | True | False | True | True | True | False |
| 2 | False | True | True | False | True | False |
| 3 | False | False | False | True | False | True |
| 4 | True | True | True | False | False | True |
我想创建一个具有相同索引的新数据框,但每一行都有前一列的前三个 True 列名。
| index | TrueVal1 | TrueVal2 | TrueVal3 |
|---|---|---|---|
| 1 | val1 | val3 | val4 |
| 2 | val2 | val3 | val5 |
| 3 | val4 | val6 | NaN |
| 4 | val1 | val2 | val3 |
如果一行的 True 值少于三个,则新数据框的值为 Null。
【问题讨论】: