python-3.x - Pandas DataFrame:使用 0 和 1 创建类似矩阵
问题描述
我必须用 0 和 1 创建一个类似矩阵的东西。我怎样才能创建这样的东西?
我想检查 df['luogo'] 是 'sala' 和 df['sala'] 的交点并将其替换为 1。
这是我的尝试:
for head in dataframe.columns:
for i in dataframe['luogo']:
if i == head:
dataframe[head] = 1
else:
dataframe[head] = 0
对不起意大利数据框。
解决方案
您可能正在寻找pandas.get_dummies(..)
[pandas-doc]。对于给定的数据框df
:
>>> df
luogo
0 sala
1 scuola
2 teatro
3 sala
我们得到:
>>> pd.get_dummies(df['luogo'])
sala scuola teatro
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
因此,您可以将其与您的原始数据框加入:
>>> df.join(pd.get_dummies(df['luogo']))
luogo sala scuola teatro
0 sala 1 0 0
1 scuola 0 1 0
2 teatro 0 0 1
3 sala 1 0 0
因此,这构建了原始数据帧中值的“单热编码”[wiki]。
推荐阅读
- c# - 具有 PowerShell 自动化命令限制的 C# Windows 窗体应用程序
- java - 如何比较两个列表?
- amazon-web-services - AWS RDS 多可用区故障转移和 Route53 记录
- firebase - Firebase CLI - 禁止用户提示
- influxdb - Influx/Telegraf 没有推送 0 值
- angular - 如何在角度的dx-data-grid的coiumn中添加超链接?
- typescript - 如何将对象值提取为文字类型联合打字稿
- python - Python-我的变量没有给我一个随机数以在函数中输出(模块=随机)
- javascript - 是否可以使用 CEP/ExtendScript 在 InDesign 中检测对象的抑制?
- three.js - 使用 Raycast 方法检测玩家是否使用 ThreeJs 和 CannonJs 接地