我想有条件地更新数据帧列中的值。你知道吗
我正在处理一家冰淇淋店及其面临的投诉。问题和这些问题的总数存储在字典中:
myDict = {"Rude Staff":12, "Poor Hygiene":4, "Out of Stock":3}
我还有一个更大的数据框,里面有冰淇淋店一个月的数据。你知道吗
date| day | 'Rude Staff'| 'Poor Hygiene' | 'Out of Stock'<br>
01/06/19 | Sat | ? | ? | ?
09/06/19 | Sun | ? | ? | ?
15/09/21 | Fri | ? | ? | ?
我想把myDict的值映射到更大的df,替换问号如下:
date | day | 'Rude Staff'| 'Poor Hygiene' | 'Out of Stock'<br>
01/06/19 | Sat | 12 | 4 | 3
09/06/19 | Sun | 12 | 4 | 3
15/09/21 | Fri | 12 | 4 | 3
我试过迭代df中的每一行,例如,如果“Rude Staff”的值与我字典中的任何键匹配,则替换“?”带着那把钥匙的价值。你知道吗
for index, row in df.iterrows():
for i in range(0, len(myDict)-1):
if row['Rude Staff'] == myDict[i]:
row['Rude Staff'].replace("?", myDict[myDict[i]])
这不起作用,因为iterrows不会永久编辑行的值。你知道吗
如何根据df中的“Rude Staff”是否与字典中的“Rude Staff”匹配,将dictionary键的值映射到df中的列?你知道吗
您可以在dict上使用简单的迭代:
如果dict键与} 与
df.columns
同步,则可以将^{regex=True
一起使用:假设dict中的键和DataFrame中的键相同,您可以在列上迭代,为包含“?”的行分配值。你知道吗
演示:
显示:
显示只替换
?
值。你知道吗相关问题 更多 >
编程相关推荐