- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有这个 df:
sort_countries[["country", "Total"]].to_dict()
{'Total': {'Afghanistan': 1,
'Albania': 1,
'Algeria': 1,
'Argentina': 6,
'Armenia': 5,
'Australia': 76,
'Austria': 9,
'Bangladesh': 1,
'Barbados': 1,
'Belarus': 12,
'Belgium': 27,
'Brazil': 34,
'Bulgaria': 2,
'Canada': 78,
'Chile': 3,
'China': 149,
'Colombia': 4,
'Costa Rica': 1,
'Croatia': 4,
'Czech Republic': 14,
'Denmark': 6,
'Ecuador': 1,
'Egypt': 4,
'El Salvador': 1,
'Estonia': 7,
'Finland': 18,
'France': 125,
'Germany': 106,
'Greece': 18,
'Hungary': 13,
'India': 145,
'Indonesia': 4,
'Iran': 6,
'Ireland': 10,
'Israel': 28,
'Italy': 31,
'Japan': 74,
'Kenya': 1,
'Kyrgyzstan': 1,
'Latvia': 2,
'Lebanon': 1,
'Lithuania': 7,
'Luxembourg': 1,
'Macedonia': 1,
'Madagascar': 2,
'Malaysia': 4,
'Mauritius': 1,
'Mexico': 3,
'Moldova': 1,
'Morocco': 2,
'Mozambique': 1,
'Nepal': 1,
'Netherlands': 59,
'New Zealand': 10,
'Nigeria': 1,
'North Korea': 1,
'Norway': 6,
'Pakistan': 1,
'Panama': 1,
'Philippines': 6,
'Poland': 51,
'Portugal': 15,
'Qatar': 1,
'Romania': 8,
'Russian Federation': 223,
'Senegal': 1,
'Serbia': 3,
'Singapore': 55,
'Slovakia': 8,
'Slovenia': 6,
'South Africa': 13,
'South Korea': 11,
'Spain': 52,
'Sri Lanka': 5,
'Sweden': 20,
'Switzerland': 24,
'Taiwan': 27,
'Thailand': 2,
'Turkey': 10,
'Ukraine': 40,
'United Arab Emirates': 2,
'United Kingdom': 117,
'United States': 852,
'Venezuela': 2,
'Vietnam': 5},
'country': {'Afghanistan': 'Afghanistan',
'Albania': 'Albania',
'Algeria': 'Algeria',
'Argentina': 'Argentina',
'Armenia': 'Armenia',
'Australia': 'Australia',
'Austria': 'Austria',
'Bangladesh': 'Bangladesh',
'Barbados': 'Barbados',
'Belarus': 'Belarus',
'Belgium': 'Belgium',
'Brazil': 'Brazil',
'Bulgaria': 'Bulgaria',
'Canada': 'Canada',
'Chile': 'Chile',
'China': 'China',
'Colombia': 'Colombia',
'Costa Rica': 'Costa Rica',
'Croatia': 'Croatia',
'Czech Republic': 'Czech Republic',
'Denmark': 'Denmark',
'Ecuador': 'Ecuador',
'Egypt': 'Egypt',
'El Salvador': 'El Salvador',
'Estonia': 'Estonia',
'Finland': 'Finland',
'France': 'France',
'Germany': 'Germany',
'Greece': 'Greece',
'Hungary': 'Hungary',
'India': 'India',
'Indonesia': 'Indonesia',
'Iran': 'Iran',
'Ireland': 'Ireland',
'Israel': 'Israel',
'Italy': 'Italy',
'Japan': 'Japan',
'Kenya': 'Kenya',
'Kyrgyzstan': 'Kyrgyzstan',
'Latvia': 'Latvia',
'Lebanon': 'Lebanon',
'Lithuania': 'Lithuania',
'Luxembourg': 'Luxembourg',
'Macedonia': 'Macedonia',
'Madagascar': 'Madagascar',
'Malaysia': 'Malaysia',
'Mauritius': 'Mauritius',
'Mexico': 'Mexico',
'Moldova': 'Moldova',
'Morocco': 'Morocco',
'Mozambique': 'Mozambique',
'Nepal': 'Nepal',
'Netherlands': 'Netherlands',
'New Zealand': 'New Zealand',
'Nigeria': 'Nigeria',
'North Korea': 'North Korea',
'Norway': 'Norway',
'Pakistan': 'Pakistan',
'Panama': 'Panama',
'Philippines': 'Philippines',
'Poland': 'Poland',
'Portugal': 'Portugal',
'Qatar': 'Qatar',
'Romania': 'Romania',
'Russian Federation': 'Russian Federation',
'Senegal': 'Senegal',
'Serbia': 'Serbia',
'Singapore': 'Singapore',
'Slovakia': 'Slovakia',
'Slovenia': 'Slovenia',
'South Africa': 'South Africa',
'South Korea': 'South Korea',
'Spain': 'Spain',
'Sri Lanka': 'Sri Lanka',
'Sweden': 'Sweden',
'Switzerland': 'Switzerland',
'Taiwan': 'Taiwan',
'Thailand': 'Thailand',
'Turkey': 'Turkey',
'Ukraine': 'Ukraine',
'United Arab Emirates': 'United Arab Emirates',
'United Kingdom': 'United Kingdom',
'United States': 'United States',
'Venezuela': 'Venezuela',
'Vietnam': 'Vietnam'}}
对于每一列,我想使用 iso3 代码注册另一列:
def get_3_code_country(country):
url = 'https://restcountries.eu/rest/v2/name/' + quote(country.country[0], safe='')
r = requests.get(url)
response = r.json()
return response[0]['alpha3Code']
import requests
from urllib.parse import quote
data_javascript_map = sort_countries.assign(
iso_3=lambda x: get_3_code_country(x), axis = 1
)
data_javascript_map
这显然只返回第一个国家,因为我使用country.country[0]。但我想把所有国家都一一列出来。
按照其他答案中的建议尝试了country.country.item()
,但没有运气。但我得到的是整个系列,而不是 1 by 1。apply 方法中有没有一种方法可以 1 by 1 而不是整个系列,这样我就可以避免在我的函数中执行 for 循环?
最佳答案
修改您的函数:
def get_3_code_country(c):
url = 'https://restcountries.eu/rest/v2/name/' + quote(c, safe='')
...
现在,在 df.country
上调用 apply
:
df['iso_3'] = df.country.apply(get_3_code_country)
当心!这是一个请求
操作,它会慢。
我在尝试此操作时收到了 KeyError
。也许其中一些国家不受支持?尝试添加 try- except
大括号:
try:
return response[0]['alpha3Code']
except KeyError:
return None
关于python - Pandas 逐行应用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46828879/
猫f1.txt阿曼维沙尔阿杰贾伊维杰拉胡尔曼尼什肖比特批评塔夫林现在输出应该符合上面给定的条件 最佳答案 您可以在文件读取循环中设置一个计数器并打印它, 计数=0 读取行时做 让我们数一数++ if
我正在尝试查找文件 1 和文件 2 中的共同行。如果公共(public)行存在,我想写入文件 2 中的行,否则打印文件 1 中的非公共(public)行。fin1 和 fin2 是这里的文件句柄。它读
我有这个 SQL 脚本: CREATE TABLE `table_1` ( `IDTable_1` int(11) NOT NULL, PRIMARY KEY (`IDTable_1`) );
我有 512 行要插入到数据库中。我想知道提交多个插入内容是否比提交一个大插入内容有任何优势。例如 1x 512 行插入 -- INSERT INTO mydb.mytable (id, phonen
如何从用户中选择user_id,SUB(row, row - 1),其中user_id=@userid我的表用户,id 为 1、3、4、10、11、23...(不是++) --id---------u
我曾尝试四处寻找解决此问题的最佳方法,但我找不到此类问题的任何先前示例。 我正在构建一个基于超本地化的互联网购物中心,该区域分为大约 3000 个区域。每个区域包含大约 300 个项目。它们是相似的项
preg_match('|phpVersion = (.*)\n|',$wampConfFileContents,$result); $phpVersion = str_replace('"','',
我正在尝试创建一个正则表达式,使用“搜索并替换全部”删除 200 个 txt 文件的第一行和最后 10 行 我尝试 (\s*^(\h*\S.*)){10} 删除包含的前 10 行空白,但效果不佳。 最
下面的代码从数据库中获取我需要的信息,但没有打印出所有信息。首先,我知道它从表中获取了所有正确的信息,因为我已经在 sql Developer 中尝试过查询。 public static void m
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我试图在两个表中插入记录,但出现异常。您能帮我解决这个问题吗? 首先我尝试了下面的代码。 await _testRepository.InsertAsync(test); await _xyzRepo
这个基本的 bootstrap CSS 显示 1 行 4 列: Text Text Text
如果我想从表中检索前 10 行,我将使用以下代码: SELECT * FROM Persons LIMIT 10 我想知道的是如何检索前 10 个结果之后的 10 个结果。 如果我在下面执行这段代码,
今天我开始使用 JexcelApi 并遇到了这个:当您尝试从特定位置获取元素时,不是像您通常期望的那样使用sheet.getCell(row,col),而是使用sheet.getCell(col,ro
我正在尝试在我的网站上开发一个用户个人资料系统,其中包含用户之前发布的 3 个帖子。我可以让它选择前 3 条记录,但它只会显示其中一条。我是不是因为凌晨 2 点就想编码而变得愚蠢? query($q)
我在互联网上寻找答案,但找不到任何答案。 (我可能问错了?)我有一个看起来像这样的表: 我一直在使用查询: SELECT title, date, SUM(money) FROM payments W
我有以下查询,我想从数据库中获取 100 个项目,但 host_id 多次出现在 urls 表中,我想每个 host_id 从该表中最多获取 10 个唯一行。 select * from urls j
我的数据库表中有超过 500 行具有特定日期。 查询特定日期的行。 select * from msgtable where cdate='18/07/2012' 这将返回 500 行。 如何逐行查询
我想使用 sed 从某一行开始打印 n 行、跳过 n 行、打印 n 行等,直到文本文件结束。例如在第 4 行声明,打印 5-9,跳过 10-14,打印 15-19 等 来自文件 1 2 3 4 5 6
我目前正在执行验证过程来检查用户的旧密码,但问题是我无法理解为什么我的查询返回零行,而预期它有 1 行。另一件事是,即使我不将密码文本转换为 md5,哈希密码仍然得到正确的答案,但我不知道为什么会发生
我是一名优秀的程序员,十分优秀!