我希望在数据中有一个字段,用于标记“焦点”行,以便以后以不同的方式绘制它们。下面是一些有效的代码,并返回我想要的输出:
import pandas as pd
df = pd.DataFrame(
{'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot', 'Lemur'],
'Max Speed': [380., 370., 24., 26., 19.]}
).assign(Highlight = 'background')
df.loc[df.Animal == 'Parrot', 'Highlight'] = 'highlight'
print(df)
返回
但是,在赋值过程中一步创建Highlight
列(可能使用类似Highlight = if df.Animal == 'Parrot' then 'highlight' else 'background' end
的东西),而不是稍后更新的占位符变量,感觉更正确(或者至少更优雅)
这可能吗?这是完成任务的正确方式吗
.assign
方法可以根据https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.assign.html处理方程我建议,最灵活和最具Python风格的方法就是列出所有接收到highlight标签的动物。然后在赋值中使用
.apply
和lambda。例如:这使得:
相关问题 更多 >
编程相关推荐