我有一个国家和人口的词汇:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="refresh" content="30">
<title><ui:insert name="title">Default Title</ui:insert></title>
<h:outputStylesheet library="css" name="jsfcrud.css"/>
</h:head>
<h:body>
<h1>
<ui:insert name="title">Default Title</ui:insert>
</h1>
<p>
<ui:insert name="body">Default Body</ui:insert>
</p>
</h:body>
</html>
在我的df(sort_countries)中,我有一个名为country的列,我想在上面的字典中添加另一个名为population的列(匹配具有填充的国家/地区)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/template.xhtml">
<ui:define name="title">
<h:outputText value="#{bundle.ListPhonerecordTitle}"></h:outputText>
</ui:define>
<ui:define name="body">
<h:form styleClass="jsfcrud_list_form">
<p:poll interval="10" listener="#{phonerecordController.prepareList}" update="@all" />
...
...
...
</h:form>
</ui:define>
</ui:composition>
</html>
给出错误:population_dict = {"Germany": 1111, .... }
。
为什么population_df = sort_countries.assign(
population=lambda x: population_dict[x["country"]], axis = 1)
population_df.head()
是一个系列,当我想象它应该只返回国家的名称。
这只熊猫总是让我感到困惑。在我的lambdas中,我希望x是一行,我只从该行中选择国家。相反,len(x [&#34; country&#34;])给了我192(我的国家的数量,整个系列)。
我如何使用lambdas匹配它们而不是单独的函数? 谢谢!
答案 0 :(得分:1)
请注意x["country"]
是Series
,虽然是单个元素,但这不能用于索引字典。如果您只想要与之关联的值,请使用x["country"].item()
。
然而,为此类事情量身定制的更好方法是使用df.map
:
population_df["population"] = population_df["country"].map(population_dict)
map
会自动映射从population_df [&#34; country&#34;]中获取的密钥,并将其映射到population_dict
中的相应值。
答案 1 :(得分:0)
另外:
{
_id: "LOCATION:GOOD:CATALOG" // unique by itself, repeating catalog to ensure unique, used for fast reads
_catalog: "..." // unique by itself, used for fast writes
in_stock: 0|1
in_catalog: 0|1
}
createIndex( { "_id": 1, "_catalog": 1 }, { unique: true } )
的工作原理。 或者:
population_df["population"] = population_df.apply(lambda x: population_dict[x["country"]], axis=1)