我有一个pandas数据帧: 关键val
A 1
A 2
B 1
B 3
C 1
C 4
我想做一些像这样的假人:
A 1100
b 1010
c 1001
答案 0 :(得分:7)
以下是我用于案例的内容,并尝试在您理解问题时适用于您的案例
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
答案 1 :(得分:0)
如果您只想在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
"""