我对Python很陌生,希望有人可以给我一些提示。我也非常喜欢在堆栈上发布流量,因此任何有关如何在其中显示表格的提示也一定会受到赞赏。
无论如何,我有两列D和J,如下图所示。我想创建一个新表,如下面的后面区域所示,我从J列中的唯一值创建列,并在每行中添加1以指示记录具有唯一值。有人从pandas库中建议了get_dummies。我在熊猫图书馆工作,但我又是新人。再次感谢您的任何建议。
在:
D | J
A | 1q
B | 2E
C | 7F
后:
D | 1q |2E | 7F
A | 1 |
B | .. | 1
C | .. | .. | 1
答案 0 :(得分:1)
In [45]: pd.get_dummies(df['J'])
Out[45]:
1q 2E 7F
D
A 1 0 0
B 0 1 0
C 0 0 1
答案 1 :(得分:0)
它有效,但不是很直接
import pandas as pd
df = pd.DataFrame.from_dict({'D': ['A', 'B', 'C'] ,'J':['1q', '2E', '7F']})
df = df.set_index('D')
uniqueJ = df['J'].unique()
res=pd.concat([df['J']==v for v in uniqueJ],axis=1)
res.columns=uniqueJ
res=res.applymap(lambda x: 1 if x else 0)