当前位置: 首页 > 知识库问答 >
问题:

按二进制列值重塑Pandas DatafRames的形状

凌成天
2023-03-14

不知道如何通过几个二进制列值将我的DataFrame重塑为新的DataFrame。

输入:

data         code    a  b   c

2016-01-07   foo     0  0   0
2016-01-12   bar     0  0   1
2016-01-03   gar     0  1   0
2016-01-22   foo     1  1   0
2016-01-26   bar     1  1   0

我想通过二进制值重塑形状,即列a/b/c,如果它们的值==1,我需要每次都有新的列和所有数据。

预期输出:

         data       code        
  a   2016-01-22    foo      
  a   2016-01-26    bar       
  b   2016-01-03    gar     
  b   2016-01-22    foo      
  b   2016-01-26    bar       
  c   2016-01-12    bar       

从早上就困在这里,非常感谢帮助!

共有1个答案

嵇弘新
2023-03-14

将< code>DataFrame.melt与< code >布尔索引中的< code>1一起使用,< code>DataFrame.pop用于在过滤后删除列:

df = df.melt(['data','code'], var_name='type')
df = df[df.pop('value').eq(1)]
print (df)
          data code type
3   2016-01-22  foo    a
4   2016-01-26  bar    a
7   2016-01-03  gar    b
8   2016-01-22  foo    b
9   2016-01-26  bar    b
11  2016-01-12  bar    c
 类似资料:
  • 我有一个非常复杂的数据集。但为了简化,我将使用这些数据。假设我们有这个数据,一列X显示不同范围内的数字,另一列是二进制0/1。我想将二进制0/1的序列扩展为1。这将创建新的更长的列(newX,newbinary),形成原始的X和二进制列。 我想在这里扩展 X 列并将二进制值放在它旁边。像这样, 我的尝试是,首先我创建了新的X列(扩展了X)。 然后,我使用for循环遍历newX,然后将该值与X进行比

  • 我有一张时间和二进制值的表, 我想在一秒钟后检查二进制列中的值是1还是0,然后创建新值的新列。这里的时间没有继续。例如,这里的第一个值是(358.214),二进制值是1,如果我添加第二个值,它将是(359.214),基于上一个值,该值仍然是1,因为(359.214)不在数据集中。 我想添加两个新列,一个用于秒递增,一个用于新的二进制值。 我如何在R中做到这一点? 数据集, 更新我的尝试: 首先,我

  • 问题内容: 我有一个字节的二进制字符串表示形式,例如 如何将其转换为真实的二进制值并将其写入二进制文件? 问题答案: 使用该功能具有的读取二进制值作为一个整数。 Python 2使用字符串来处理二进制数据,因此您将使用该函数将整数转换为一字节的字符串。 Python 3个中处理二进制和文本不同,所以你需要使用的类型来代替。它没有直接等效于该函数的函数,但是构造函数可以获取字节值列表。我们放入一个元

  • 本文向大家介绍Python中的十进制到二进制列表转换,包括了Python中的十进制到二进制列表转换的使用技巧和注意事项,需要的朋友参考一下 Python是一种通用语言,可以处理数据处理过程中提出的许多要求。当我们需要将十进制数转换为二进制数时,可以使用以下python程序。 使用格式 我们可以使用格式化程序中的字母来表示哪个数字基:十进制,十六进制,八进制或二进制,我们希望对数字进行格式化。在下面

  • 我有下面的java代码,它接受RGB颜色的三个双倍值(0和1之间)并将它们转换为十进制格式。我明白了第一个8位如何保存颜色x,第二个8位颜色y...以及如何从结果二进制中获得十进制值。我100%不明白的是为什么我们用255乘以(我知道128 64 32 16 8 4 2 1)。我们到底从用255乘以双倍值得到了什么。它是一个可以存储在8位中的值吗?为什么我们不使用256(一种颜色的可能数量)? 谢

  • 问题内容: tl; dr是否 可以在不使用numpy.reshape的情况下将numpy数组的视图从5x5x5x3x3x3重塑为125x1x1x3x3x3? 我想对一个体积(大小为MxMxM)执行一个滑动窗口操作(具有不同的步幅)。如本杰明(Benjamin)和艾肯伯格(Eickenberg)先前建议的那样,可以使用生成滑动窗口数组,并在下面的代码片段中进行了演示,该代码片段使用了skimage中

  • 本文向大家介绍R重塑数据,包括了R重塑数据的使用技巧和注意事项,需要的朋友参考一下 示例 数据通常在表中。通常,可以将此表格数据分为宽和长格式。在广泛的格式中,每个变量都有自己的列。 人 身高[cm] 年龄[yr] 艾莉森 178 20 鲍勃 174 45 卡尔 182 31 但是,有时使用长格式会更方便,因为所有变量都在一列中,而值在第二列中。 人 变量 值 艾莉森 身高[cm] 178 鲍勃

  • 我想在python中重塑一个数组(首先是numpy数组),使第一个索引处的每个元素都成为该数组中的一个正方形/象限,而不是常规的将所有元素都包含在一行中的重塑。 作为一个例子,我创建了这个数组,您可以将其解释为一个图像。我给它添加了一些值,这样我们就可以清楚地看到每个元素属于哪一行、哪列和哪条通道: 打印此数组显示: 所以,很明显,第一个索引被分组为图像行(在每个较大的组中,第一个数字是常数) 第