2024-06-07 00:36:00 发布
网友
假设我们有一个dataframe,至少有两列,并且有两列我们想用来创建一个新列。在本例中,假设两个列都是某个特征的布尔值,我们需要一个包含4个组合的列。标签可以是0-3,但不必是F,F可能与T,T具有相同的桶。通常如何在熊猫中对其进行编码?我很想知道如何将其推广到非布尔值,如float或int。另外,有特定的标签也会很有帮助,例如,代替0-3可能是“prospecting”、“sale”、“pending”、“closed”
我想要的数据帧示例可能是
这个受this启发的例子应该有助于:
>>> a = pd.DataFrame({"names":['a','b','c'], "v1": np.random.choice([True,False], size=3), "v2":np.random.choice([True,False], size=3)}) >>> a names v1 v2 0 a False True 1 b True False 2 c False True >>> b = {(True, True): 0, (True, False):1, (False, True): 2, (False, False): 3} >>> a['v3'] = a.set_index(['v1', 'v2']).index.map(b.get) >>> a names v1 v2 v3 0 a False True 2 1 b True False 1 2 c False True 2
要获取v3中的其他值,只需更改字典b中的值
v3
b
这个受this启发的例子应该有助于:
要获取
v3
中的其他值,只需更改字典b
中的值相关问题 更多 >
编程相关推荐