Name Age Quantity Fee ... wood wood flooring yellow zoo
0 Puppy 2 1 150 ... 0 0 0 0
1 London 24 1 0 ... 0 0 0 0
2 Snowball 20 1 150 ... 0 0 0 0
3 Malibu 5 1 100 ... 0 0 0 0
我希望名称Snowball
将yellow
更新为值2
(以此类推)。我需要遍历所有这些,进行一些处理并更新特定的列。最好的方法是什么?
答案 0 :(得分:3)
您可以使用
df.loc[df['Name']=='Snowball','yellow'] = 2
loc的第一个参数是行索引器,第二个参数用于选择列
答案 1 :(得分:2)
要为特定单元格编制索引并更改其值,请使用df.loc:
df.loc[df.Name == 'Snowball', 'yellow'] = 2
要有效地遍历数据帧的所有行,请使用df.iterrows:
values_to_insert_into_yellow_by_name = {'Puppy': 1, 'London': 2, 'Snowball': 2, 'Malibu': 3}
for idx, row in df.iterrows():
name = df.loc[idx, 'Name']
insert = values_to_insert_into_yellow_by_name[name]
df.loc[idx, 'yellow'] = insert
您可以使用字典来存储需要插入的值。