根据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

我正在.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   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)