python三列数据转化为矩阵_python – Pandas / Numpy:如何将列数据转换为稀疏矩阵...

我想你正在寻找

pandas.get_dummies()功能和

pandas.DataFrame.combineAdd方法.

In [7]: df = pd.DataFrame({'col1': list('acb'),

'col2': list('bde'),

'val': [.5, .3, .2]})

In [8]: df1 = pd.get_dummies(df.col1)

In [9]: df2 = pd.get_dummies(df.col2)

这将生成以下两个数据帧:

In [16]: df1

Out[16]:

a b c

0 1 0 0

1 0 0 1

2 0 1 0

[3 rows x 3 columns]

In [17]: df2

Out[17]:

b d e

0 1 0 0

1 0 1 0

2 0 0 1

[3 rows x 3 columns]

哪个可以组合如下:

In [10]: dummies = df1.combineAdd(df2)

In [18]: dummies

Out[18]:

a b c d e

0 1 1 0 0 0

1 0 0 1 1 0

2 0 1 0 0 1

[3 rows x 5 columns]

最后一步是将val列复制到新数据帧中.

In [19]: dummies['val'] = df.val

In [20]: dummies

Out[20]:

a b c d e val

0 1 1 0 0 0 0.5

1 0 0 1 1 0 0.3

2 0 1 0 0 1 0.2

[3 rows x 6 columns]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值