Python 如何迭代df中的行,并永久更改列';通过映射得到的s值?
我想有条件地更新数据帧列中的值 我正在处理一家冰淇淋店及其面临的投诉。问题及其总数存储在字典中:Python 如何迭代df中的行,并永久更改列';通过映射得到的s值?,python,pandas,Python,Pandas,我想有条件地更新数据帧列中的值 我正在处理一家冰淇淋店及其面临的投诉。问题及其总数存储在字典中: myDict = {"Rude Staff":12, "Poor Hygiene":4, "Out of Stock":3} 我还有更大的df,包含了一个月的冰淇淋店数据 date| day | 'Rude Staff'| 'Poor Hygiene' | 'Out of Stock'<br> 01/06/19 | Sat | ? | ? | ? 09/06/19 | Sun | ?
myDict = {"Rude Staff":12, "Poor Hygiene":4, "Out of Stock":3}
我还有更大的df,包含了一个月的冰淇淋店数据
date| day | 'Rude Staff'| 'Poor Hygiene' | 'Out of Stock'<br>
01/06/19 | Sat | ? | ? | ?
09/06/19 | Sun | ? | ? | ?
15/09/21 | Fri | ? | ? | ?
这不起作用,因为ItErrors不会永久编辑行的值
如何根据df中的“粗鲁的职员”是否与我的字典中的“粗鲁的职员”匹配,将我的字典键的值映射到df中的一列?您可以在dict上使用简单的迭代:
for key, value in myDict.items():
df[key] = value
您可以在dict上使用简单的迭代:
for key, value in myDict.items():
df[key] = value
如果dict键与
df.columns
同步,则可以与regex=True
一起使用:
myDict = {"Rude Staff":12, "Poor Hygiene":4, "Out of Stock":3}
df.replace('\?',myDict,regex=True)
如果dict键与
df.columns
同步,则可以与regex=True
一起使用:
myDict = {"Rude Staff":12, "Poor Hygiene":4, "Out of Stock":3}
df.replace('\?',myDict,regex=True)
假设dict中的键和DataFrame中的键相同,您可以在为包含“?”的行分配值的列上迭代 演示: 显示:
date day Rude Staff Poor Hygiene Out of Stock
0 20/05/19 Xxx 1 2 3
1 01/06/19 Sat ? ? ?
2 09/06/19 Sun ? ? ?
3 15/09/21 Fri ? ? ?
date day Rude Staff Poor Hygiene Out of Stock
0 20/05/19 Xxx 1 2 3
1 01/06/19 Sat 12 4 3
2 09/06/19 Sun 12 4 3
3 15/09/21 Fri 12 4 3
显示只替换了
?
值。假设dict中的键和DataFrame中的键相同,您可以在为包含“?”的行分配值的列上迭代
演示:
显示:
date day Rude Staff Poor Hygiene Out of Stock
0 20/05/19 Xxx 1 2 3
1 01/06/19 Sat ? ? ?
2 09/06/19 Sun ? ? ?
3 15/09/21 Fri ? ? ?
date day Rude Staff Poor Hygiene Out of Stock
0 20/05/19 Xxx 1 2 3
1 01/06/19 Sat 12 4 3
2 09/06/19 Sun 12 4 3
3 15/09/21 Fri 12 4 3
显示只替换了
?
值。字典中的键没有大写,因为df列是。这是故意的吗?我的意思是dict键与df列相同吗?@anky_91是的,它们应该具有相同的值,抱歉。现在更正。字典中的键没有像df列那样大写。这是故意的吗?我的意思是dict键与df列相同吗?@anky_91是的,它们应该具有相同的值,抱歉。现在更正。
date day Rude Staff Poor Hygiene Out of Stock
0 20/05/19 Xxx 1 2 3
1 01/06/19 Sat ? ? ?
2 09/06/19 Sun ? ? ?
3 15/09/21 Fri ? ? ?
date day Rude Staff Poor Hygiene Out of Stock
0 20/05/19 Xxx 1 2 3
1 01/06/19 Sat 12 4 3
2 09/06/19 Sun 12 4 3
3 15/09/21 Fri 12 4 3