我有一个需求,我需要将数据框列的行转换为列,但是我在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
问题内容: 我的数据集具有n个日期的位置信息。问题在于每个日期实际上是一个不同的列标题。例如,CSV看起来像 我想要的是它看起来像 问题是我不知道列中有多少个日期(尽管我知道它们总是以名字开头) 问题答案: 从v0.20开始,melt是一阶函数,你现在可以使用
问题内容: 我有以下数据框: 我要这样 堆叠/堆叠似乎不起作用。 问题答案: 您正在寻找: 以及是否要重新排列列: