我正在尝试将pandas dataframe列设置为索引。 由于它是分类列,因此我想折叠同一类别中的所有列。 例如:

df

  col1   Set_Index    col2
0    1        A         'a'
1    2        B         'b'
2    3        A         'c'
3    4        B         'd'

新的df必须看起来像:

编辑:我忘记了将默认索引放在最终输出所需的输出的初稿中。 最终必须看起来像:

new_df

             col1      col2
Set_Index 
   A      0    1       'a'
          2    3       'c'
   B      1    2       'b'
          3    4       'd'

我尝试使用groupby()函数,但并没有太大帮助。

#1楼 票数:0

您可以将“ Set_Index”列设置为索引,将其删除并根据新索引对行进行排序。

df_new = df.set_index(df.Set_Index).drop(columns=['Set_Index']).sort_index()
df_new

您将拥有以下df_new:

在此处输入图片说明

据我所知,每一行都应该有一个索引,并且我不知道如何创建您所指示的df_new(第2行和第4行没有索引)。

您可以在此处阅读有关在熊猫中建立索引的更多信息: https : //brohrer.github.io/dataframe_indexing.html

  ask by Kanishk Mair translate from so

未解决问题?本站智能推荐:

1回复

熊猫索引和列创建

我有一个数据集df 。 我根据特定条件从df提取了另一个数据集df_rec 。 我可以通过df_rec.index.访问df_rec的索引df_rec.index. 现在,我想在df中创建一列,如果与df_rec中的索引匹配,则df中的索引应填充为1,否则填充为0。 任何帮助将不
1回复

从熊猫数据框中的列创建多索引

我已将数据导入到如下所示的数据框中 每个第 6 列是一个新股票。 这些行继续 1340 行。 我想重新组织一个多索引(我认为)来创建看起来像这样的数据,因为我想为每只股票添加额外的列。 我能够使用以下代码获取股票名称 最终,我希望数据框看起来像每只股票的索引 我尝试过 set_index 并收到以下
2回复

在熊猫数据框中创建多索引列

我有一个具有以下结构的熊猫数据框: 列名称杂乱无章,标题名称中包含两个变量以及原始电子表格中的残留标点符号。 我想做的是在我的数据框中设置一个名为“性别和年龄”的MultiIndex列。 我试过像这样使用pd.MultiIndex.from_tuples : 然后命名列索引:
2回复

如何根据多索引熊猫数据框中的行索引值创建列?

假设您有以下数据框: 你有一本字典,告诉你每个水果含有多少糖: 您如何向包含“水果”索引中指定的水果的糖含量的数据框添加新列?
3回复

根据索引值创建熊猫列

我敢肯定这已经被问过了,但是我找不到正确的方法去做。 我有一个带有日期时间索引的数据框 我想做的是访问datetime索引的month属性(并因此从中创建一个新列)。 我试图使用print(df['test'].datetime.month)来访问属性,但是我收到了预期的KeyError
1回复

如何从熊猫数据框中的多索引中创建列?

我有以下df: 看起来像: 我想要获得的是两个具有两列的索引,分别表示为: 如果我只有一个一级索引,通常的代码是: 如何在多级索引上执行此操作?
2回复

组合列以在熊猫中创建日期时间索引

我想在 Pandas Dataframe 的多列中组合日期和时间数据来创建一个 DatetimeIndex。 我有这个: 但我收到此错误: KeyError: ('the_date', 'occurred at index the_date')我做错了什么?
3回复

熊猫从带有索引列的词典列表中创建一个DataFrame

我有一个像这样的字典清单。 我正在尝试从中构造一个DataFrame,如下所示: 但是我得到这个错误: (X是我在d中拥有的许多物品)