【发布时间】:2018-11-22 01:47:07
【问题描述】:
我在 Pandas 数据框中有一个名为“label”的变量,其中包含多个字符串值(例如:'label1', "label2', 'label3'...)。
label
label1
label1
label23
label3
label11
我将所有唯一值输出到一个列表中,然后创建新变量
unique_labels = df['label'].unique()
for i in unique_labels: # create new single label variable holders
df[str(i)] = 0
现在我有
label label1 label2 .... label23
label1 0 0 0
label23 0 0 0
我想根据'label'给新的单标签变量赋值,如下
label label1 label2 .... label23
label1 1 0 0
label23 0 0 1
这是我的代码
def single_label(df):
for i in range(len(unique_labels)):
if df['label'] == str(unique_labels[i]):
df[unique_labels[i]] == 1
df = df.applymap(single_label)
收到此错误
TypeError: ("'int' object is not subscriptable", 'occurred at index Unnamed: 0')
【问题讨论】:
标签: python pandas loops if-statement