Python 3.x I';我试图清理数据,但它返回了错误的列
我试图从导入的数据集中提取一个数据集Python 3.x I';我试图清理数据,但它返回了错误的列,python-3.x,dataframe,indexing,multiple-columns,data-cleaning,Python 3.x,Dataframe,Indexing,Multiple Columns,Data Cleaning,我试图从导入的数据集中提取一个数据集df19并从中清除信息,以创建第二个变量noneu19,您猜对了,欧盟国家将从列目的地 这是我跑的 noneu19=df19 noneu19["Destination"] = noneu19[~noneu19["Destination"].apply(str).str.contains('UK')] noneu19["Destination"] = noneu19[~noneu19["Destination"].apply(str).str.contains(
df19
并从中清除信息,以创建第二个变量noneu19
,您猜对了,欧盟国家将从列目的地
这是我跑的
noneu19=df19
noneu19["Destination"] = noneu19[~noneu19["Destination"].apply(str).str.contains('UK')]
noneu19["Destination"] = noneu19[~noneu19["Destination"].apply(str).str.contains('SWEDEN')]
noneu19["Destination"] = noneu19[~noneu19["Destination"].apply(str).str.contains('SPAIN')]
...
set(noneu19["Destination"])
(替换其他25行)
它返回的是由于某种原因在一个完全独立的列“Location”
中索引的数据列表
如果我设置(df19['Destination'])它返回我试图清理的列表,因此在原始数据集中这不是问题。是否有一种方法可以使它更容易/更干净/更好,或者有一种方法可以排除它返回错误列的原因
谢谢您可以创建一个包含欧盟所有国家的
列表
,如
EU = ['SPAIN', 'ITALY'..., 'EU_COUNTRY']
然后像这样使用isin
函数:
noneu19 = df19.loc[~df19["Destination"].isin(EU)].copy()
函数isin
将检查该列的元素是否包含在作为参数传递的列表中
通过这种方式处理问题,您将拥有更易于阅读和维护的代码