You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据pandas DataFrame某列的值创建并填充对应新列

将情感列转换为独热编码格式

可以用Pandas的两种常用方法实现需求,以下是具体步骤:

1. 构造初始DataFrame

首先还原你的输入数据:

import pandas as pd

df = pd.DataFrame({
    'text': ['asdasda', 'fsdfsdfs', 'sdfsdfs', 'dfsdsd'],
    'sentiment': ['positive', 'negative', 'neutral', 'mixed']
})

2. 方法一:使用pd.get_dummies(推荐)

这是最简便的方式,直接对sentiment列生成独热编码,再保留原text列:

# 生成独热编码,指定对sentiment列处理
result = pd.get_dummies(df, columns=['sentiment'])
# 移除列名中的"sentiment_"前缀,匹配期望输出的列名
result.columns = ['text', 'positive', 'negative', 'neutral', 'mixed']

执行后result就是你要的格式:

text           positive     negative     neutral      mixed
asdasda           1            0           0           0
fsdfsdfs          0            1           0           0
sdfsdfs           0            0           1           0
dfsdsd            0            0           0           1

3. 方法二:使用pd.crosstab

通过交叉表统计每个文本对应的情感类型,生成独热编码:

# 以text为行、sentiment为列生成交叉表
cross_tab = pd.crosstab(df['text'], df['sentiment']).reset_index()
# 调整列顺序与期望输出一致
cross_tab = cross_tab[['text', 'positive', 'negative', 'neutral', 'mixed']]

这个方法同样能得到相同的结果,适合需要自定义行/列统计的场景。

内容的提问来源于stack exchange,提问作者math_guy_shy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:18:37