Python 3.x 如果列表中存在正确的值,则更改列中的值(熊猫)
我有一份“合适”尺码的清单Python 3.x 如果列表中存在正确的值,则更改列中的值(熊猫),python-3.x,pandas,Python 3.x,Pandas,我有一份“合适”尺码的清单 list_sizes=['YT trueview', 'YT TRUEVIEW something', 'YT pre-roll', 'YT bumper', 'YT preferred pre-roll', 'YT preferred bumper', 'YT masthead','Advertorials', 'Editorial Content'] 以及df的一列,其大小与有时用错误的大写/小写字母书写的相同 Size ______ YT TRUEVIEW
list_sizes=['YT trueview', 'YT TRUEVIEW something', 'YT pre-roll', 'YT bumper', 'YT preferred pre-roll', 'YT preferred bumper', 'YT masthead','Advertorials', 'Editorial Content']
以及df的一列,其大小与有时用错误的大写/小写字母书写的相同
Size
______
YT TRUEVIEW
YT PRE-ROLL
YT TRUEVIEW something
我想在列表中检查小写/大写是否正确。如果没有,我想用合适的替代品。匹配必须精确(不考虑大写/小写)。我的预期产出是:
Size
______
YT trueview
YT pre-roll
YT TRUEVIEW something
如何在pandas中执行此操作?让我们创建一个映射字典,将小写字符串映射到
列表中相应的表示形式,然后使用列大小上的+替换映射中的匹配表示形式dict
:
dct = dict(zip(map(str.lower, list_sizes), list_sizes))
df['Size'] = df['Size'].str.lower().replace(dct)
Size
0 YT trueview
1 YT pre-roll
2 YT TRUEVIEW something