【问题标题】:How to group by and dummies in pandas如何在熊猫中分组和假人
【发布时间】:2016-08-08 13:34:17
【问题描述】:

我有一个熊猫数据框: 关键值

A    1

A    2

B    1

B    3

C    1

C    4

我想做一些这样的假人:

A  1100

b  1010

c  1001

【问题讨论】:

  • 请定义假人
  • 目前还不清楚您要做什么。您能向我们展示您迄今为止尝试过的任何代码吗?
  • 对不起,这是我关于堆栈溢出的第一个问题。例如,A 的 val 是 1,2,所以我想得到 1100(第一个和第二个索引为 1)。我知道 get_dummies 在 pandas 但它只能得到 1000 或 0100。

标签: python pandas


【解决方案1】:

如果您只想在 pandas DF 中创建虚拟数据,可以使用以下内容。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(100, 4), columns=['A', 'B' ,'C' ,'D'])

df


#Result will look like the following
"""
       A         B         C         D
0  0.777877  1.513237  1.521985  2.017665
1 -1.247366  0.874258  0.986717 -1.148804
...........continued for N rows

"""

【讨论】:

    【解决方案2】:

    这是我用于我的案例的东西,并在我能理解问题的范围内尝试应用到你的案例

    df
      key1  key2
    0    A     1
    1    A     2
    2    B     1
    3    B     3
    4    C     1
    5    C     4
    
    pd.get_dummies(df, columns=['key2']).groupby(['key1'], as_index=False).sum()
    

    输出:

      key1  key2_1  key2_2  key2_3  key2_4
    0    A     1.0     1.0     0.0     0.0
    1    B     1.0     0.0     1.0     0.0
    2    C     1.0     0.0     0.0     1.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-25
      • 2020-08-31
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      相关资源
      最近更新 更多