所以我有一个数据框如下
name, car
foo, bmw
bar, audi
baz, tesla
foobaz, bmw
Run Code Online (Sandbox Code Playgroud)
现在我有另一本字典,比如
car_type = {'bmw': 'gas', 'audi': 'hybrid', 'tesla': 'electric'}
Run Code Online (Sandbox Code Playgroud)
现在,我想向数据框添加一个新列,如下所示
name, car, type
foo, bmw, gas
bar, audi, hybric
baz, tesla, electric
foobaz, bmw, gas
Run Code Online (Sandbox Code Playgroud)
我如何在熊猫中做到这一点?
如果您的 dict 键不包含所有汽车名称,并且您想用某种默认类型填充缺少的汽车名称,那么这将有所帮助。
df['type'] = df.car.map(lambda x: car_type[x] if x in car_type else 'water')
Run Code Online (Sandbox Code Playgroud)
详情
df['name'] = ['foo', 'bar', 'baz', 'faz', 'zaz']
df['car'] = ['bmw', 'audi', 'tesla', 'bmw', 'skoda']
car_type = {'bmw': 'gas', 'audi': 'hybrid', 'tesla': 'electric'}
df['type1'] = df.car.map(car_type)
df['type2'] = df.car.map(lambda x: car_type[x] if x in car_type else 'water')
Run Code Online (Sandbox Code Playgroud)
打印(df)
name car type1 type2
0 foo bmw gas gas
1 bar audi hybrid hybrid
2 baz tesla electric electric
3 faz bmw gas gas
4 zaz skoda NaN water
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |