【发布时间】:2020-12-18 08:36:19
【问题描述】:
正如标题所示,我正在寻找一种方法来为数据框中的每一行应用一个函数,并针对一列创建多个新列。
所以我的意思是,我有一个包含不同城市名称的 df。现在我想创建 2 个新行,其中包含人口规模、国家、成立日期以及可能的更多信息。
我有一个以 json 格式返回这些信息的 API。到现在为止还挺好。 我目前正在做的是使用 for 循环来遍历 df,进行 api 调用,然后使用 iloc 设置列...它不是很好或效率很高。
我想知道是否可以使用应用/转换函数产生类似的结果。
我目前的解决方案:
for index, row in data.iterrows():
print("--------------------->" + str(index))
try:
infos = cityInfo.download(row["city"],row["zip"])
except:
break
if len(infos) == 0:
print("City not found!")
else:
data["pop"].iloc[index] = infos["population"]
data["country"].iloc[index] = infos["country"]
data["founding"].iloc[index] = infos["foundingDate"
我很高兴得到任何帮助或提示
【问题讨论】:
-
请展示一些最小的例子来重现您的输入和预期的输出。