当前位置: 首页 > 面试题库 >

如何通过索引重塑多列数据框?

龙珂
2023-03-14
问题内容

从这里开始。该解决方案仅适用于一列。如何改进多列解决方案。即如果我有一个像

df= pd.DataFrame([['a','b'],['b','c'],['c','z'],['d','b']],index=[0,0,1,1])



   0 1
0 ab
0公元前
1立方厘米
1分贝

如何重塑像

  0 1 2 3
0 abbc 
1捷克克朗

如果df是

   0 1
0 ab
1立方厘米
1分贝

然后

   0 1 2 3
0 ab NaN NaN
1捷克克朗

问题答案:

采用 flatten/ravel

In [4401]: df.groupby(level=0).apply(lambda x: pd.Series(x.values.flatten()))
Out[4401]:
   0  1  2  3
0  a  b  b  c
1  c  z  d  b

要么, stack

In [4413]: df.groupby(level=0).apply(lambda x: pd.Series(x.stack().values))
Out[4413]:
   0  1  2  3
0  a  b  b  c
1  c  z  d  b

另外,索引不相等

In [4435]: df.groupby(level=0).apply(lambda x: x.values.ravel()).apply(pd.Series)
Out[4435]:
   0  1    2    3
0  a  b  NaN  NaN
1  c  z    d    b


 类似资料:
  • 假设我们有这样一个数据frame: 我们还有另一个具有相同行数和列数(具有相同名称)的DataFrame: 我不知道如何创建另一个由和组成的DataFrame,使其看起来像下面的DataFrame(可能有两个索引级别): 阅读基于列标签在pandas中重新塑造dataframes并从多个dict创建一个pandas DataFrame,这给了我一些见解(因为我也试图通过以下方法来实现:首先将原始d

  • 问题内容: 如果我有一个像 我如何根据如下索引重新塑形数据框,即 问题答案: 让我们使用,,,和: 输出:

  • 我试图子集一个熊猫DataFrame在python基于两个逻辑语句 即。 但是第3行的语法无效。 有没有一种方法可以在一行中完成?

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

  • 我有一个多索引的,其名称附加到列级别。我希望能够轻松地对列进行无序排列,以便它们与用户指定的顺序相匹配。由于这是管道,我无法使用此推荐的解决方案,并在创建时正确订购它们。 我有一个数据表,看起来像 我想采取这样的列表并重新排序: 附带一个警告,我并不总是知道“实验”会是什么水平。我试过(其中是上图的多索引框架) 但是这似乎不起作用——它成功地完成了,但是返回的数据帧的列顺序没有改变。 我的解决方法

  • 问题内容: 希望我能为每个数据库服务器得到答案。 有关索引如何工作的概述,请查看:数据库索引如何工作? 问题答案: 以下是SQL92标准,因此大多数使用SQL的RDMBS应该支持它: