我是pandas和python的新手,绝对可以使用一些帮助。
我有下面的代码,几乎可以满足我的需求。它为字段中的唯一值创建虚拟变量,并通过其他两个字段中唯一值的唯一组合对其进行索引。
我想要的是每个用于索引的字段的唯一组合只有一行。现在,如果虚拟变量出现3次,我会得到多行'asset subs end dt' = 10/30/2008
和'reseller csn' = 55008
。我宁愿在索引字段值的组合中使用一行,在虚拟变量列中使用3。
Code:
df = data
df = df.set_index(['ASSET_SUBS_END_DT','RESELLER_CSN'])
Dummies=pd.get_dummies(df['EXPERTISE'])
答案 0 :(得分:1)
类似的东西:
df.groupby(level=[0, 1]).EXPERTISE.count()
执行此操作groupby
时,具有相同索引的所有内容将组合在一起。假设您EXPERTISE
中的数据为notnull
,您将获得一个新的DataFrame
,其中包含唯一索引值和每个索引count
。亲自尝试一下,熟悉结果,看看它如何与现有的DataFrame
结合使用,以获得您想要的最终结果。