【问题标题】:Filter data from a created list从创建的列表中过滤数据
【发布时间】:2020-10-18 02:49:18
【问题描述】:

我正在处理来自 github 的 Covid 数据集,我想用出现在 this EU_member list 中的 csv 格式的国家/地区过滤我的数据集。

import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/owid/covid-19-data/master/public/data/owid-covid-data.csv')
df = df[df.continent == 'Europe']

# From here I want to  just pick those countries that appear in the following list:
EU_members= ['Austria','Italy','Belgium''Latvia','Bulgaria','Lithuania','Croatia','Luxembourg','Cyprus','Malta','Czechia','Netherlands','Denmark','Poland','Estonia',
'Portugal','Finland','Romania','France','Slovakia','Germany','Slovenia','Greece','Spain','Hungary','Sweden','Ireland']

# I have tried something like this but it is not what I expected:
df.location.str.find('EU_members')

【问题讨论】:

  • 您对此有何疑问?
  • 如何过滤仅包含我在 EU_member 列表中创建的国家/地区的数据集。

标签: python pandas filtering


【解决方案1】:

你可以使用.isin():

import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/owid/covid-19-data/master/public/data/owid-covid-data.csv')

EU_members= ['Austria','Italy','Belgium''Latvia','Bulgaria','Lithuania','Croatia','Luxembourg','Cyprus','Malta','Czechia','Netherlands','Denmark','Poland','Estonia',
'Portugal','Finland','Romania','France','Slovakia','Germany','Slovenia','Greece','Spain','Hungary','Sweden','Ireland']


df_out = df[df['location'].isin(EU_members)]
df_out.to_csv('data.csv')

创建data.csv:

【讨论】:

    猜你喜欢
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    相关资源
    最近更新 更多