[英]Wanting to get_dummies for the most frequest values in a column - Pandas
我正在通过推文开发一个 go 的程序,并预测作者是否属于两个类别之一。 我想要 get_dummies 来确定一条推文是否包含前 10 个主题标签中的任何一个,或者它是否包含“其他”。 (最后我可能会使用前 500 个左右的主题标签,而不仅仅是 10 个,数据集总共超过 500,000 列,具有超过 50,000 个独特的主题标签)
这是我第一次使用 pandas,如果我的问题不清楚,我深表歉意,但我认为我期望的是数据集中的每一行都会被赋予一个新列,每个标签对应一个,然后是 [如果该行包含该主题标签,则 row][column] 对将为 1,否则为 0。 还会有一个其他列,表示它有其他不在前 10 名中的主题标签。
我知道如何确定列中出现频率最高的已经
counts = df.hashtags.value_counts()
counts.nlargest(10)
我也知道如何获得假人,我只是不知道如何添加不为每个主题标签制作一个的参数。
dummies = pd.get_dummies(df, columns=['hashtags'])
如果我可以更清楚或提供更多信息,请告诉我。 感谢帮助!
没有时间生成数据并全力以赴。 但是,尽管我会为您提供这个想法,以防它对您有所帮助。
这个想法是利用.isin()
来获取构建假人所需的值。 然后利用索引的力量来匹配源行。
就像是:
pd.get_dummies(df.loc[df['hashtags'].isin(counts.nlargest(10).index)], columns=['hashtags'])
您将不得不查看指数是否能满足您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.