根据python中列中的值删除行
我正在.csv文件上执行数据清理以执行分析。我正在尝试删除python中列中有空值的行 示例文件:根据python中列中的值删除行,python,Python,我正在.csv文件上执行数据清理以执行分析。我正在尝试删除python中列中有空值的行 示例文件: Unnamed: 0 2012 2011 2010 2009 2008 2005 0 United States of America 760739 752423 781844 812514 843683 862220 1 Brazil 732913 717185 715702 651879 649996 NaN 2
Unnamed: 0 2012 2011 2010 2009 2008 2005
0 United States of America 760739 752423 781844 812514 843683 862220
1 Brazil 732913 717185 715702 651879 649996 NaN
2 Germany 520005 513458 515853 519010 518499 494329
3 United Kingdom (England and Wales) 310544 336997 367055 399869 419273 541455
4 Mexico 211921 212141 230687 244623 250932 239166
5 France 193081 192263 192906 193405 187937 148651
6 Sweden 87052 89457 87854 86281 84566 72645
7 Romania 17219 12299 12301 9072 9457 8898
8 Nigeria 15388 NaN 18093 14075 14692 NaN
目前使用的是:
from pandas import read_csv
link = "https://docs.google.com/spreadsheets......csv"
data = read_csv(link)
data.head(100000)
如何删除这些行?加载数据后,您只需确定要删除哪些行:
bad_rows = np.any(np.isnan(data), axis=1)
然后:
您需要使用该方法删除这些值。将how='any'
作为参数传递到方法中,如果任何值null
将删除该行,how='all'
仅当所有值null
时才会删除该行
cleaned_data = data.dropna(how='any')
编辑1。
值得注意的是,您可能不想创建已清理数据的副本。(即cleaned_data=data.dropna(how='any')
为了节省内存,您可以传入inplace
选项,该选项将修改原始DataFrame
并返回None
data.dropna(how='any', inplace=True)
data.head(100)
你能准确地解释一下你想做什么吗?我已经收集了所有国家的统计数据。我将对这些数据进行分析。在此之前,所有缺失的数据,即如果特定年份的值为0,我想对特定国家进行分析。如果你需要,请让我知道d更多信息。假设对于美国的一行,如果金额在任何一年中为0,我希望删除美国。输出中不应出现美国。如果对于英国,所有值均不为0,则我不会删除该行。英国仍将存在于输出中。遵循此操作将有所帮助。此处将删除行数。但我需要删除行基于该值。假设对于美国的某一行,如果该金额在任何一年中为0,则我希望删除美国。如果对于英国,所有值均不为0,则我不会删除该行。英国仍将存在于输出中。
data.dropna(how='any', inplace=True)
data.head(100)