我有以下布尔值表:
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'))
索引 | 值1 | 值2 | 值3 | 值4 | 值5 | 值6 |
---|---|---|---|---|---|---|
1 | 真 | 假 | 真 | 真 | 真 | 假 |
2 | 假 | 真 | 真 | 假 | 真 | 假 |
3 | 假 | 假 | 假 | 真 | 假 | 真 |
4 | 真 | 真 | 真 | 假 | 假 | 真 |
我想创建一个新的数据框(dataframe),该数据框具有相同的索引,但每行都包含来自上一列的前三个True列名。
索引 | True值1 | True值2 | True值3 |
---|---|---|---|
1 | 值1 | 值3 | 值4 |
2 | 值2 | 值3 | 值5 |
3 | 值4 | 值6 | NaN |
4 | 值1 | 值2 | 值3 |
如果某行的True值少于三个,新数据框将具有Null值。