python - 如何使用 lambda 根据另一个数组项获取 Dataframe 的结果
问题描述
我有一个关于如何根据数组项选择国家/地区结果的问题。
我可以列出数据框中定义的一些国家
for i in range(df_countries.shape[0]):
print(str(df_countries['Country_Region'][i]))
我想根据上述结果获得结果,但我不知道该怎么做。
我可以编写此代码,但它不起作用。
df.loc[df["Country"].apply(lambda x: x== [(df_countries['Country_Region'][i]) for i in range(df_countries.shape[0]) ])]
我该如何解决?
解决方案
我认为您正在寻找pandas.apply。
你可以这样做:
df_countries.apply(lambda row: row["Country"] == row["Country_Region"], axis=1)
然后,您可以使用 .loc 选择符合此条件的行。
我承认我不确定我是否理解你的问题,所以我希望这会有所帮助。
此外,您可以使用pandas.iterrows遍历 DataFrame 的行(这不能回答您的问题,但似乎您在帖子的开头就这样做了:))
编辑:在这种情况下,Vishnudev 下面的答案实际上是一个更好的答案:
df.loc[df.loc[:, 'Country'] == df.loc[:, 'Country_Region'], :]
推荐阅读
- microsoft-graph-api - 用于获取消息的 MS 图形 API 返回已删除消息的无效 parentFolderId
- python - 使用机器学习将 PDF 转换为 XML
- jenkins - 如何在 Jenkinsfile 中克隆私有 gitlab 存储库
- javascript - 无法显示值
- amazon-web-services - AWS Pinpoint - 未找到资源作为响应
- javascript - 如何在 React 中使用 N 个对象更新二维数组的状态?
- reactjs -
- python - 使用 python scrapy 进行动态 url 抓取
- postgresql - 有没有办法通过指定证书从远程主机使用 pg_dumpall 转储整个 postgres db?
- html - 无法在 css 中使用此自定义字体