当尝试从行索引列表中为特定列的几个单元格值着色时,在pandas中使用style.applymap(),我得到错误'int'对象没有属性'index'。我不知道为什么dataframe会这样?
def highlight_col(x, lst):
r = 'color: red'
df = pd.DataFrame('', index=x.index, columns=x.columns)
for i in lst:
df.iloc[i:1, 0] = r
return df
df1 = pd.DataFrame({'id':[10,11,12,13,14], 'name':['Rahul', 'Ravi', 'Mike', 'Nair', 'Mona'], 'age':[30,40,23,45,12], 'street_no':['E112', 'B115', 'C119', 'H112', 'J091']})
lst = (1, 3, 5) # list of row numbers
style1 = df1.style.applymap(lambda x: highlight_col(x, lst))
style1
Error: AttributeError: 'int' object has no attribute 'index'
1条答案
按热度按时间fjnneemd1#
IIUC,要有条件地将列
id
着色为红色,您可以尝试使用apply
的 * 基本方法 *:输出: