我有一个需求,我需要将数据框列的行转换为列,但是我在GROUPBY之后面临一个问题。下面是一组3个用户,可以具有类型1到类型6之间的类型。
user_id1 type4
user_id1 type6
user_id1 type1
user_id1 type2
user_id1 type1
user_id1 type6
user_id2 type1
user_id2 type2
user_id2 type2
user_id2 type1
user_id2 type3
user_id2 type4
user_id2 type5
user_id2 type6
user_id2 type2
user_id2 type6
user_id3 type1
user_id3 type2
user_id3 type3
user_id3 type2
我期望的结果是-
user_id type1 type2 type3 type4 type5 type6
user_id1 2 1 0 1 0 2
user_id2 2 3 1 1 1 2
user_id3 1 2 1 0 0 0
我试着对类型进行分组,结果得到了计数。但不确定如何转换为列,尤其是缺少的类型应填充0。
非常感谢您抽出时间。
您需要使用的是来自pandas的pivot_表。您可以指定所需的行和列,填充值说明如何处理空值和aggfunc len计数。
我不确定你的数据系列是什么样子,但你需要这样的东西:
pd.pivot_table(data, index='user_id', columns='type', aggfunc=len, fill_value=0)
问题内容: 我有以下Python pandas数据框: 我想要: 我看过pivot(),pivot_table(),Transpose和unstack(),它们似乎都没有给我。熊猫新手,所以所有帮助表示赞赏。 问题答案: 您需要通过转置: 如果需要重命名列,则有点复杂: 另一个更快的解决方案是使用: 时间 :
我是数据科学的初学者,我正在尝试使用Pandas来旋转此数据框架: 所以它变成这样:(标签应该变成列,文件路径变成行。) “标签”列是一组或一类文件路径。我想把它转换成这样一种方式,它适合这个函数:tf。Keras.preprocessing.image.flow_from_dataframe 提前感谢所有帮助我的人。
问题内容: __默认情况下,条件(x > 500)的 范围(1000) 显然是排序的。 我期待的数字0到999在一个被分组 的dict 由条件(X> 500)。但是结果字典只有999个 。其他数字在哪里?任何人都可以解释这里发生了什么吗? 问题答案: 从文档: 返回的组本身就是一个与共享底层可迭代对象的迭代器。因为源是共享的,所以当对象前进时,先前的组将不再可见。因此,如果以后需要该数据,则应将其
问题内容: 将 变长 列表的Python序列隐式转换为NumPy数组会导致该数组属于 object 类型。 尝试强制使用其他类型将导致异常: 通过使用给定的占位符填充“缺失”值来获取类型为int32的密集NumPy数组的最有效方法是什么? 从我的示例序列中,如果占位符为0,我想得到类似的结果 问题答案: 您可以使用itertools.zip_longest: 注意:对于Python 2,它是ite
问题内容: 考虑下面的示例,其中有一个包含人员记录的 Person 表和一个包含链接到人员的可选属性的 PersonAttribute 表: Table: Person Table PersonAttribute 我将如何编写一个查询,使所有具有属性的人都像列一样返回?我需要的结果集是: 因此,从本质上讲,我需要编写一个查询,该查询将获取所有带有所有唯一属性键的人记录,这些键被转换为具有每个人记录
问题内容: 我的表包含以下列: 我想显示如下: 如您所见,我想将列与自定义列名成对显示。这对是列A和B,列C和D以及列C和D。 问题答案: