【问题标题】:Convert a pandas data frame to a pandas data frame with another style将熊猫数据框转换为具有另一种样式的熊猫数据框
【发布时间】:2016-05-27 01:55:39
【问题描述】:

我有一个数据框,其中包含动物的 ID 和它们所属的类型,如下所示

ID  Class
1   1
2   1
3   0
4   4
5   3
6   2
7   1
8   0

我想将其转换为标题行中的类的新样式,如下所示。

ID  0   1   2   3   4
1       1           
2       1           
3   1               
4                   1
5               1   
6           1       
7       1           
8   1               

你能帮我用python做吗

【问题讨论】:

标签: python pandas dataframe ipython


【解决方案1】:

get_dummies():

>>> print df

   ID  Class
0   1      1
1   2      1
2   3      0
3   4      4
4   5      3
5   6      2
6   7      1
7   8      0

>>> df2 = pd.get_dummies(df, columns=['Class'])
>>> print df2

   ID  Class_0  Class_1  Class_2  Class_3  Class_4
0   1        0        1        0        0        0
1   2        0        1        0        0        0
2   3        1        0        0        0        0
3   4        0        0        0        0        1
4   5        0        0        0        1        0
5   6        0        0        1        0        0
6   7        0        1        0        0        0
7   8        1        0        0        0        0

如果您想去掉列标题中的“Class_”,请将prefixprefix_sep 都设置为空字符串:

df2 = pd.get_dummies(df, columns=['Class'], prefix='', prefix_sep='')

【讨论】:

  • 非常感谢。当我这样做时,我会在列中获得浮点值。你能帮帮我吗?
  • 它们对我来说也是numpy.float64(尽管我显示的输出没有显示“.0”s,由于某种原因与您不同)。你只是想改变显示,还是想改变底层数据类型?无论哪种方式,我认为您都可以在这里找到答案:stackoverflow.com/questions/21291259/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-12
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
相关资源
最近更新 更多