use*_*ser 0 python series pandas
我有一只熊猫df.假设我有一个"活动"列,可以是"有趣"或"工作",我想将其转换为整数.我所做的是:
df["activity_id"] = 1*(df["activity"]=="fun") + 2*(df["activity"]=="work")
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为我不知道如何将if/else放在那里(如果你有10个活动,它会变得复杂).
但是,说我现在有相反的问题,我想从id转换为字符串,我不能再使用这个技巧,因为我不能将字符串与布尔值相乘.我该怎么做?有没有办法使用if/else?
您可以创建一个字典,其中id为键,字符串为值,然后使用mapseries方法将整数转换为字符串.
my_map = {1:'fun', 2:'work'}
df['activity']= df.activity_id.map(my_map)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |