我得到的数据如下:
import pandas as pd
data_dict = {'a':[5,2,4,5,3,3,1,2,3],
'name':['Jack','jon',"tom",'lazzy','mack','zack','makilo','drag','maiko']}
data_01 = pd.DataFrame(data_dict)
input:
a name
0 5 Jack
1 2 jon
2 4 tom
3 5 lazzy
4 3 mack
5 3 zack
6 1 makilo
7 2 drag
8 3 maiko
我希望输出应该有3列'good','mid','poor'
,而a >3,==3,<3
预期输出应为:
a name good mid poor
5 Jack 1 0 0
2 jon 0 0 1
4 tom 1 0 0
5 lazzy 1 0 0
3 mack 0 1 0
....
谢谢你的帮助!你知道吗
data_01.a - 3
上使用np.sign
< 3
时返回-1
,当== 3
时返回0
,当> 3
时返回1
然后我使用这些作为标签数组的索引
当我切片时,
0
映射到'mid'
,1
映射到'good'
,-1
映射到'poor'
pd.get_dummies
创建虚拟列。你知道吗备选方案1 它使用
np.eye
来生成虚拟列。我创建dictionary将虚拟对象绑定到标签上,并将dictionary传递给pd.DataFrame.assign
备选方案2 我再次使用
np.eye
,但这次,我从头创建了一个数据帧,并使用pd.DataFrame.join
将其附加到data_01
如果需要计数值:
只需与
numpy
进行一些比较:然后将这些数组作为列附加到数据帧中。你知道吗
相关问题 更多 >
编程相关推荐