繁体   English   中英

根据索引在 pandas 中制作多列

Making multiple columns in pandas based on index

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

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

df

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

新的 df 必须如下所示:

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

new_df

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

我尝试使用 groupby() function 但没有多大帮助。

1 个回复

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

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

您将拥有以下 df_new:

在此处输入图像描述

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

You can read more about indexing in pandas here: https://brohrer.github.io/dataframe_indexing.html

1 熊猫索引和列创建

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

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

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

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

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

5 根据索引值创建 Pandas 列

我确定以前有人问过这个问题,但我找不到 go 关于这样做的正确方法。 我有一个带有日期时间索引的 dataframe 我想做的是访问(并因此创建一个新列)日期时间索引的月份属性。 我试图只使用print(df['test'].datetime.month)访问该属性,但我收到了预期的 KeyErro ...

7 仅为熊猫中的某些多索引创建具有值的列

我有一个这样的数据框: 我想应用一个函数来创建一个基于 r_value 的新列,该列仅在 recor==900 的情况下提供值,因此,最后我想要类似的东西: 我已经创建了这样的功能: 所以现在我需要附加BB作为一列,用 NaN 填充对应于recor==800的行。 我该怎么做? 我尝试了 ...

2021-07-01 13:36:09 1 23   pandas
8 如何在熊猫中创建时间序列列并重新索引?

如何在熊猫中创建列并重新索引? 我是大熊猫新手。 我有5行数据框,如下所示: 我想用新索引1到5替换索引列0,1 ... 4。我的预期输出是: 我所做的是创建一个新列: 然后我尝试重新索引: 但我得到了错误: ValueError: Buffer has ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM