如何将几个pandas数据框列汇总为父列名称?

ThinWybk

我有一个看起来像这样的数据框

        some feature  another feature  label
sample
0       ...           ...              ...

我想获得一个具有多索引的数据框,像这样

        features            label
sample  some       another
0       ...        ...      ...

从API它不是我清楚如何使用from_arrays()from_product()from_tuples()from_frame()正确。该解决方案不依赖于功能列(串解析some featureanother feature)。标签的最后一列是最后一列,label可以使用其列名我怎样才能得到想要的东西?

耶斯列尔

从API它不是我清楚如何使用from_arrays()from_product()from_tuples()from_frame()正确。

它主要用于生成具有独立于原始列名称的MultiIndex的新DataFrame时。

因此,这意味着如果需要全新的内容MultiIndex,例如通过列表或数组:

a = ['a','a','b']
b = ['x','y','z']
df.columns = pd.MultiIndex.from_arrays([a,b])
print (df)
        a     b
        x  y  z
sample         
0       2  3  5
1       4  5  7

EDIT1:如果要以MultiIndex所有方式所有列设置为所有列而没有最后一个:

a = ['parent'] * (len(df.columns) - 1) + ['label']
b = df.columns[:-1].tolist() + ['val']
df.columns = pd.MultiIndex.from_arrays([a,b])
print (df)
          parent           label
       feature a feature b   val
sample                          
0              2         3     5
1              4         5     7

可能通过split,但是如果某些不带分隔符NaN的列为第二级,则为s,因为不可能组合MultiIndex而不是MultiIndex列(实际上是,但是从MultiIndex列获取元组):

print (df)
        feature_a  feature_b  label
sample                             
0               2          3      5
1               4          5      7

df.columns = df.columns.str.split(expand=True)
print (df)
       feature    label
             a  b   NaN
sample                 
0            2  3     5
1            4  5     7

更好的方法是将所有不带分隔符的列都转换为Index/MultiIndexfirst DataFrame.set_index

df = df.set_index('label')
df.columns = df.columns.str.split(expand=True)
print (df)
      feature   
            a  b
label           
5           2  3
7           4  5

为了防止使用原始索引append=True参数:

df = df.set_index('label', append=True)
df.columns = df.columns.str.split(expand=True)
print (df)
             feature   
                   a  b
sample label           
0      5           2  3
1      7           4  5

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将存储在列表中的数据框的名称放入每个数据框的列名称中?

来自分类Dev

Python Pandas:如何将“数据框列”值设置为X轴标签

来自分类Dev

如何将JSON解码为pandas数据框?

来自分类Dev

Pandas 如何将父数据框与 2 个子数据框合并

来自分类Dev

如何将几个单词列表转换为pandas数据框?

来自分类Dev

如何将熊猫数据框转换为具有列名称的numpy数组

来自分类Dev

如何将参数传递给引用嵌套数据框的列名称的purrr ::: map?

来自分类Dev

R,如何将数据框的所有列名称放入公式中?

来自分类Dev

如何将熊猫数据框转换为具有列名称的numpy数组

来自分类Dev

如何将权重应用于数据框中的特定列以汇总新的“得分”列?

来自分类Dev

如何将权重应用于数据框中的特定列以汇总新的“得分”列?

来自分类Dev

如何将多列打印为数据框-python

来自分类Dev

如何将数据框行调整为列

来自分类Dev

将matplotlib绘图轴设置为数据框列名称

来自分类Dev

将列名称设置为数据框中的索引

来自分类Dev

无法将列名称设置为数据框的子集

来自分类Dev

如何将 Pandas 数据框转为多级列

来自分类Dev

如何将pandas数据框中的列与重复的名称组合在一起?

来自分类Dev

R如何将数据框列矩阵扩展为数据框列

来自分类Dev

R如何将数据框列矩阵扩展为数据框列

来自分类Dev

如何将xml数据分组为几个月?

来自分类Dev

如何将数据框的索引写为数据框列

来自分类Dev

如何将列名称数组转换为pandas Dataframe?

来自分类Dev

Pandas 数据框:如何定义几个列属性?

来自分类Dev

如何将映射表中的几行汇总为列?

来自分类Dev

如何将多行汇总为单个行和列

来自分类Dev

T-SQL 如何将列汇总为行?

来自分类Dev

如何将Pandas DataFrame的列转换为单独的dict,其中dictnames为列名?

来自分类Dev

Pandas 数据框:如何汇总包含值的列

Related 相关文章

  1. 1

    如何将存储在列表中的数据框的名称放入每个数据框的列名称中?

  2. 2

    Python Pandas:如何将“数据框列”值设置为X轴标签

  3. 3

    如何将JSON解码为pandas数据框?

  4. 4

    Pandas 如何将父数据框与 2 个子数据框合并

  5. 5

    如何将几个单词列表转换为pandas数据框?

  6. 6

    如何将熊猫数据框转换为具有列名称的numpy数组

  7. 7

    如何将参数传递给引用嵌套数据框的列名称的purrr ::: map?

  8. 8

    R,如何将数据框的所有列名称放入公式中?

  9. 9

    如何将熊猫数据框转换为具有列名称的numpy数组

  10. 10

    如何将权重应用于数据框中的特定列以汇总新的“得分”列?

  11. 11

    如何将权重应用于数据框中的特定列以汇总新的“得分”列?

  12. 12

    如何将多列打印为数据框-python

  13. 13

    如何将数据框行调整为列

  14. 14

    将matplotlib绘图轴设置为数据框列名称

  15. 15

    将列名称设置为数据框中的索引

  16. 16

    无法将列名称设置为数据框的子集

  17. 17

    如何将 Pandas 数据框转为多级列

  18. 18

    如何将pandas数据框中的列与重复的名称组合在一起?

  19. 19

    R如何将数据框列矩阵扩展为数据框列

  20. 20

    R如何将数据框列矩阵扩展为数据框列

  21. 21

    如何将xml数据分组为几个月?

  22. 22

    如何将数据框的索引写为数据框列

  23. 23

    如何将列名称数组转换为pandas Dataframe?

  24. 24

    Pandas 数据框:如何定义几个列属性?

  25. 25

    如何将映射表中的几行汇总为列?

  26. 26

    如何将多行汇总为单个行和列

  27. 27

    T-SQL 如何将列汇总为行?

  28. 28

    如何将Pandas DataFrame的列转换为单独的dict,其中dictnames为列名?

  29. 29

    Pandas 数据框:如何汇总包含值的列

热门标签

归档