在Python3和pandas中,有一个数据框,其中有几十个关于食物特性的列和行。总结如下:
alimentos = pd.read_csv("alimentos.csv",sep=',',encoding = 'utf-8')
alimentos.reset_index()
index alimento calorias
0 0 iogurte 40
1 1 sardinha 30
2 2 manteiga 50
3 3 maçã 10
4 4 milho 10
“alimento”(食品)一栏中有“iogurte”、“sardinha”、“manteiga”、“maçã”和“milho”等行,它们是食品名称。你知道吗
我需要在这个数据框中创建一个新的列,它将告诉我们什么是食物。我给它起名叫“classificacao”
alimentos['classificacao'] = ""
alimentos.reset_index()
index alimento calorias classificacao
0 0 iogurte 40
1 1 sardinha 30
2 2 manteiga 50
3 3 maçã 10
4 4 milho 10
根据“alimento”列中的内容,我想自动填充“classificacao”列中的行
例如,在查找“iogurte”时,填充->;“laticino”。当找到“撒丁岛”->;“佩克斯”。找到“manteiga”->;“gordura动物”。当找到“maçã”->;“fruta”时。找到“米尔霍”->;“麦片”
请问,有没有办法在我找到这些字符串时自动填充行?你知道吗
如果在“alimento”列中有所有可能值的映射,您只需创建一个字典并使用
.map(d)
,如下所示:然而,在现实生活中,我们通常无法映射dict中的所有内容(因为异常值是千载难逢的,错误的输入等等),在这种情况下,上面的内容将在“classificacao”列中返回
NaN
。这可能会导致一些问题,因此请考虑设置一个默认值,例如“Other”或“Unknown”。除此之外,只需在map(d)
之后附加.fillna("Other")
。你知道吗相关问题 更多 >
编程相关推荐