熊猫 - 转换是:否为真:假失败

时间:2017-05-10 15:48:15

标签: python pandas

我尽最大努力将列转换为“是”' '无'值为True,False或1,0都失败。该列已订阅'。

df.subscribed.unique() returns
array(['no', 'yes'], dtype=object)

尝试以下方法。他们都没有工作:

df.subscribed = df.subscribed.astype(int)
df.subscribed.map(dict(yes=1, no=0))
df.replace({'subscribed': {'yes': 1, 'no': 0}})
d = {'yes': True, 'no': False}
df['subscribed'].map(d)

2 个答案:

答案 0 :(得分:0)

正如EdChum指出你需要分配回df。

df = pd.DataFrame({'subscribed':np.random.choice(['yes','no'], 10)})
print(df)

输入:

  subscribed
0        yes
1        yes
2        yes
3         no
4         no
5        yes
6         no
7         no
8         no
9        yes

df =df.replace({'subscribed': {'yes': True, 'no': False}})
print(df)

输出:

   subscribed
0        True
1        True
2        True
3       False
4       False
5        True
6       False
7       False
8       False
9        True

答案 1 :(得分:0)

您可以在一行中使用它

df.col.map(dict(yes = 1,no = 0))